POST classroom.courses.aliases.create
{{baseUrl}}/v1/courses/:courseId/aliases
QUERY PARAMS

courseId
BODY json

{
  "alias": ""
}
Examples
REQUEST

CURL *hnd = curl_easy_init();

curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "POST");
curl_easy_setopt(hnd, CURLOPT_URL, "{{baseUrl}}/v1/courses/:courseId/aliases");

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

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

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

(client/post "{{baseUrl}}/v1/courses/:courseId/aliases" {:content-type :json
                                                                         :form-params {:alias ""}})
require "http/client"

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

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

func main() {

	url := "{{baseUrl}}/v1/courses/:courseId/aliases"

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

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

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

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

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

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

}
POST /baseUrl/v1/courses/:courseId/aliases HTTP/1.1
Content-Type: application/json
Host: example.com
Content-Length: 17

{
  "alias": ""
}
AsyncHttpClient client = new DefaultAsyncHttpClient();
client.prepare("POST", "{{baseUrl}}/v1/courses/:courseId/aliases")
  .setHeader("content-type", "application/json")
  .setBody("{\n  \"alias\": \"\"\n}")
  .execute()
  .toCompletableFuture()
  .thenAccept(System.out::println)
  .join();

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

Response response = client.newCall(request).execute();
HttpResponse response = Unirest.post("{{baseUrl}}/v1/courses/:courseId/aliases")
  .header("content-type", "application/json")
  .body("{\n  \"alias\": \"\"\n}")
  .asString();
const data = JSON.stringify({
  alias: ''
});

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

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

xhr.open('POST', '{{baseUrl}}/v1/courses/:courseId/aliases');
xhr.setRequestHeader('content-type', 'application/json');

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

const options = {
  method: 'POST',
  url: '{{baseUrl}}/v1/courses/:courseId/aliases',
  headers: {'content-type': 'application/json'},
  data: {alias: ''}
};

try {
  const { data } = await axios.request(options);
  console.log(data);
} catch (error) {
  console.error(error);
}
const url = '{{baseUrl}}/v1/courses/:courseId/aliases';
const options = {
  method: 'POST',
  headers: {'content-type': 'application/json'},
  body: '{"alias":""}'
};

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}}/v1/courses/:courseId/aliases',
  method: 'POST',
  headers: {
    'content-type': 'application/json'
  },
  processData: false,
  data: '{\n  "alias": ""\n}'
};

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

val mediaType = MediaType.parse("application/json")
val body = RequestBody.create(mediaType, "{\n  \"alias\": \"\"\n}")
val request = Request.Builder()
  .url("{{baseUrl}}/v1/courses/:courseId/aliases")
  .post(body)
  .addHeader("content-type", "application/json")
  .build()

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

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

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

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

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

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

const options = {
  method: 'POST',
  url: '{{baseUrl}}/v1/courses/:courseId/aliases',
  headers: {'content-type': 'application/json'},
  body: {alias: ''},
  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}}/v1/courses/:courseId/aliases');

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

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

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}}/v1/courses/:courseId/aliases',
  headers: {'content-type': 'application/json'},
  data: {alias: ''}
};

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

const url = '{{baseUrl}}/v1/courses/:courseId/aliases';
const options = {
  method: 'POST',
  headers: {'content-type': 'application/json'},
  body: '{"alias":""}'
};

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

NSDictionary *headers = @{ @"content-type": @"application/json" };
NSDictionary *parameters = @{ @"alias": @"" };

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

NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"{{baseUrl}}/v1/courses/:courseId/aliases"]
                                                       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}}/v1/courses/:courseId/aliases" in
let headers = Header.add (Header.init ()) "content-type" "application/json" in
let body = Cohttp_lwt_body.of_string "{\n  \"alias\": \"\"\n}" in

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

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

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
request('POST', '{{baseUrl}}/v1/courses/:courseId/aliases', [
  'body' => '{
  "alias": ""
}',
  'headers' => [
    'content-type' => 'application/json',
  ],
]);

echo $response->getBody();
setUrl('{{baseUrl}}/v1/courses/:courseId/aliases');
$request->setMethod(HTTP_METH_POST);

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

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

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

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
append(json_encode([
  'alias' => ''
]));
$request->setRequestUrl('{{baseUrl}}/v1/courses/:courseId/aliases');
$request->setRequestMethod('POST');
$request->setBody($body);

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

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

echo $response->getBody();
$headers=@{}
$headers.Add("content-type", "application/json")
$response = Invoke-WebRequest -Uri '{{baseUrl}}/v1/courses/:courseId/aliases' -Method POST -Headers $headers -ContentType 'application/json' -Body '{
  "alias": ""
}'
$headers=@{}
$headers.Add("content-type", "application/json")
$response = Invoke-RestMethod -Uri '{{baseUrl}}/v1/courses/:courseId/aliases' -Method POST -Headers $headers -ContentType 'application/json' -Body '{
  "alias": ""
}'
import http.client

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

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

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

conn.request("POST", "/baseUrl/v1/courses/:courseId/aliases", payload, headers)

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

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

url = "{{baseUrl}}/v1/courses/:courseId/aliases"

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

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

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

url <- "{{baseUrl}}/v1/courses/:courseId/aliases"

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

encode <- "json"

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

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

url = URI("{{baseUrl}}/v1/courses/:courseId/aliases")

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

request = Net::HTTP::Post.new(url)
request["content-type"] = 'application/json'
request.body = "{\n  \"alias\": \"\"\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/v1/courses/:courseId/aliases') do |req|
  req.body = "{\n  \"alias\": \"\"\n}"
end

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

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

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

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

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

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

    dbg!(results);
}
curl --request POST \
  --url {{baseUrl}}/v1/courses/:courseId/aliases \
  --header 'content-type: application/json' \
  --data '{
  "alias": ""
}'
echo '{
  "alias": ""
}' |  \
  http POST {{baseUrl}}/v1/courses/:courseId/aliases \
  content-type:application/json
wget --quiet \
  --method POST \
  --header 'content-type: application/json' \
  --body-data '{\n  "alias": ""\n}' \
  --output-document \
  - {{baseUrl}}/v1/courses/:courseId/aliases
import Foundation

let headers = ["content-type": "application/json"]
let parameters = ["alias": ""] as [String : Any]

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

let request = NSMutableURLRequest(url: NSURL(string: "{{baseUrl}}/v1/courses/:courseId/aliases")! 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()
DELETE classroom.courses.aliases.delete
{{baseUrl}}/v1/courses/:courseId/aliases/:alias
QUERY PARAMS

courseId
alias
Examples
REQUEST

CURL *hnd = curl_easy_init();

curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "DELETE");
curl_easy_setopt(hnd, CURLOPT_URL, "{{baseUrl}}/v1/courses/:courseId/aliases/:alias");

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

(client/delete "{{baseUrl}}/v1/courses/:courseId/aliases/:alias")
require "http/client"

url = "{{baseUrl}}/v1/courses/:courseId/aliases/:alias"

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

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

func main() {

	url := "{{baseUrl}}/v1/courses/:courseId/aliases/:alias"

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

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

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

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

}
DELETE /baseUrl/v1/courses/:courseId/aliases/:alias HTTP/1.1
Host: example.com

AsyncHttpClient client = new DefaultAsyncHttpClient();
client.prepare("DELETE", "{{baseUrl}}/v1/courses/:courseId/aliases/:alias")
  .execute()
  .toCompletableFuture()
  .thenAccept(System.out::println)
  .join();

client.close();
HttpRequest request = HttpRequest.newBuilder()
    .uri(URI.create("{{baseUrl}}/v1/courses/:courseId/aliases/:alias"))
    .method("DELETE", 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}}/v1/courses/:courseId/aliases/:alias")
  .delete(null)
  .build();

Response response = client.newCall(request).execute();
HttpResponse response = Unirest.delete("{{baseUrl}}/v1/courses/:courseId/aliases/:alias")
  .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('DELETE', '{{baseUrl}}/v1/courses/:courseId/aliases/:alias');

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

const options = {
  method: 'DELETE',
  url: '{{baseUrl}}/v1/courses/:courseId/aliases/:alias'
};

try {
  const { data } = await axios.request(options);
  console.log(data);
} catch (error) {
  console.error(error);
}
const url = '{{baseUrl}}/v1/courses/:courseId/aliases/:alias';
const options = {method: 'DELETE'};

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}}/v1/courses/:courseId/aliases/:alias',
  method: 'DELETE',
  headers: {}
};

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

val request = Request.Builder()
  .url("{{baseUrl}}/v1/courses/:courseId/aliases/:alias")
  .delete(null)
  .build()

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

const options = {
  method: 'DELETE',
  hostname: 'example.com',
  port: null,
  path: '/baseUrl/v1/courses/:courseId/aliases/:alias',
  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: 'DELETE',
  url: '{{baseUrl}}/v1/courses/:courseId/aliases/:alias'
};

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

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

const req = unirest('DELETE', '{{baseUrl}}/v1/courses/:courseId/aliases/:alias');

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

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

const options = {
  method: 'DELETE',
  url: '{{baseUrl}}/v1/courses/:courseId/aliases/:alias'
};

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

const url = '{{baseUrl}}/v1/courses/:courseId/aliases/:alias';
const options = {method: 'DELETE'};

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}}/v1/courses/:courseId/aliases/:alias"]
                                                       cachePolicy:NSURLRequestUseProtocolCachePolicy
                                                   timeoutInterval:10.0];
[request setHTTPMethod:@"DELETE"];

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}}/v1/courses/:courseId/aliases/:alias" in

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

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

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
request('DELETE', '{{baseUrl}}/v1/courses/:courseId/aliases/:alias');

echo $response->getBody();
setUrl('{{baseUrl}}/v1/courses/:courseId/aliases/:alias');
$request->setMethod(HTTP_METH_DELETE);

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

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
setRequestUrl('{{baseUrl}}/v1/courses/:courseId/aliases/:alias');
$request->setRequestMethod('DELETE');
$client->enqueue($request)->send();
$response = $client->getResponse();

echo $response->getBody();
$response = Invoke-WebRequest -Uri '{{baseUrl}}/v1/courses/:courseId/aliases/:alias' -Method DELETE 
$response = Invoke-RestMethod -Uri '{{baseUrl}}/v1/courses/:courseId/aliases/:alias' -Method DELETE 
import http.client

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

conn.request("DELETE", "/baseUrl/v1/courses/:courseId/aliases/:alias")

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

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

url = "{{baseUrl}}/v1/courses/:courseId/aliases/:alias"

response = requests.delete(url)

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

url <- "{{baseUrl}}/v1/courses/:courseId/aliases/:alias"

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

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

url = URI("{{baseUrl}}/v1/courses/:courseId/aliases/:alias")

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

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

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

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

response = conn.delete('/baseUrl/v1/courses/:courseId/aliases/:alias') do |req|
end

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

#[tokio::main]
pub async fn main() {
    let url = "{{baseUrl}}/v1/courses/:courseId/aliases/:alias";

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

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

    dbg!(results);
}
curl --request DELETE \
  --url {{baseUrl}}/v1/courses/:courseId/aliases/:alias
http DELETE {{baseUrl}}/v1/courses/:courseId/aliases/:alias
wget --quiet \
  --method DELETE \
  --output-document \
  - {{baseUrl}}/v1/courses/:courseId/aliases/:alias
import Foundation

let request = NSMutableURLRequest(url: NSURL(string: "{{baseUrl}}/v1/courses/:courseId/aliases/:alias")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "DELETE"

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 classroom.courses.aliases.list
{{baseUrl}}/v1/courses/:courseId/aliases
QUERY PARAMS

courseId
Examples
REQUEST

CURL *hnd = curl_easy_init();

curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET");
curl_easy_setopt(hnd, CURLOPT_URL, "{{baseUrl}}/v1/courses/:courseId/aliases");

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

(client/get "{{baseUrl}}/v1/courses/:courseId/aliases")
require "http/client"

url = "{{baseUrl}}/v1/courses/:courseId/aliases"

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

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

func main() {

	url := "{{baseUrl}}/v1/courses/:courseId/aliases"

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

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

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

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

}
GET /baseUrl/v1/courses/:courseId/aliases HTTP/1.1
Host: example.com

AsyncHttpClient client = new DefaultAsyncHttpClient();
client.prepare("GET", "{{baseUrl}}/v1/courses/:courseId/aliases")
  .execute()
  .toCompletableFuture()
  .thenAccept(System.out::println)
  .join();

client.close();
HttpRequest request = HttpRequest.newBuilder()
    .uri(URI.create("{{baseUrl}}/v1/courses/:courseId/aliases"))
    .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}}/v1/courses/:courseId/aliases")
  .get()
  .build();

Response response = client.newCall(request).execute();
HttpResponse response = Unirest.get("{{baseUrl}}/v1/courses/:courseId/aliases")
  .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}}/v1/courses/:courseId/aliases');

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

const options = {method: 'GET', url: '{{baseUrl}}/v1/courses/:courseId/aliases'};

try {
  const { data } = await axios.request(options);
  console.log(data);
} catch (error) {
  console.error(error);
}
const url = '{{baseUrl}}/v1/courses/:courseId/aliases';
const options = {method: 'GET'};

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

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

val request = Request.Builder()
  .url("{{baseUrl}}/v1/courses/:courseId/aliases")
  .get()
  .build()

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

const options = {
  method: 'GET',
  hostname: 'example.com',
  port: null,
  path: '/baseUrl/v1/courses/:courseId/aliases',
  headers: {}
};

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

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

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

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

const options = {method: 'GET', url: '{{baseUrl}}/v1/courses/:courseId/aliases'};

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

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

const req = unirest('GET', '{{baseUrl}}/v1/courses/:courseId/aliases');

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}}/v1/courses/:courseId/aliases'};

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

const url = '{{baseUrl}}/v1/courses/:courseId/aliases';
const options = {method: 'GET'};

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

NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"{{baseUrl}}/v1/courses/:courseId/aliases"]
                                                       cachePolicy:NSURLRequestUseProtocolCachePolicy
                                                   timeoutInterval:10.0];
[request setHTTPMethod:@"GET"];

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

let uri = Uri.of_string "{{baseUrl}}/v1/courses/:courseId/aliases" in

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

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

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
request('GET', '{{baseUrl}}/v1/courses/:courseId/aliases');

echo $response->getBody();
setUrl('{{baseUrl}}/v1/courses/:courseId/aliases');
$request->setMethod(HTTP_METH_GET);

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

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
setRequestUrl('{{baseUrl}}/v1/courses/:courseId/aliases');
$request->setRequestMethod('GET');
$client->enqueue($request)->send();
$response = $client->getResponse();

echo $response->getBody();
$response = Invoke-WebRequest -Uri '{{baseUrl}}/v1/courses/:courseId/aliases' -Method GET 
$response = Invoke-RestMethod -Uri '{{baseUrl}}/v1/courses/:courseId/aliases' -Method GET 
import http.client

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

conn.request("GET", "/baseUrl/v1/courses/:courseId/aliases")

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

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

url = "{{baseUrl}}/v1/courses/:courseId/aliases"

response = requests.get(url)

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

url <- "{{baseUrl}}/v1/courses/:courseId/aliases"

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

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

url = URI("{{baseUrl}}/v1/courses/:courseId/aliases")

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

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

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

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

response = conn.get('/baseUrl/v1/courses/:courseId/aliases') do |req|
end

puts response.status
puts response.body
use reqwest;

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

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

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

    dbg!(results);
}
curl --request GET \
  --url {{baseUrl}}/v1/courses/:courseId/aliases
http GET {{baseUrl}}/v1/courses/:courseId/aliases
wget --quiet \
  --method GET \
  --output-document \
  - {{baseUrl}}/v1/courses/:courseId/aliases
import Foundation

let request = NSMutableURLRequest(url: NSURL(string: "{{baseUrl}}/v1/courses/:courseId/aliases")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"

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

dataTask.resume()
POST classroom.courses.announcements.create
{{baseUrl}}/v1/courses/:courseId/announcements
QUERY PARAMS

courseId
BODY json

{
  "alternateLink": "",
  "assigneeMode": "",
  "courseId": "",
  "creationTime": "",
  "creatorUserId": "",
  "id": "",
  "individualStudentsOptions": {
    "studentIds": []
  },
  "materials": [
    {
      "driveFile": {
        "driveFile": {
          "alternateLink": "",
          "id": "",
          "thumbnailUrl": "",
          "title": ""
        },
        "shareMode": ""
      },
      "form": {
        "formUrl": "",
        "responseUrl": "",
        "thumbnailUrl": "",
        "title": ""
      },
      "link": {
        "thumbnailUrl": "",
        "title": "",
        "url": ""
      },
      "youtubeVideo": {
        "alternateLink": "",
        "id": "",
        "thumbnailUrl": "",
        "title": ""
      }
    }
  ],
  "scheduledTime": "",
  "state": "",
  "text": "",
  "updateTime": ""
}
Examples
REQUEST

CURL *hnd = curl_easy_init();

curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "POST");
curl_easy_setopt(hnd, CURLOPT_URL, "{{baseUrl}}/v1/courses/:courseId/announcements");

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

curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\n  \"alternateLink\": \"\",\n  \"assigneeMode\": \"\",\n  \"courseId\": \"\",\n  \"creationTime\": \"\",\n  \"creatorUserId\": \"\",\n  \"id\": \"\",\n  \"individualStudentsOptions\": {\n    \"studentIds\": []\n  },\n  \"materials\": [\n    {\n      \"driveFile\": {\n        \"driveFile\": {\n          \"alternateLink\": \"\",\n          \"id\": \"\",\n          \"thumbnailUrl\": \"\",\n          \"title\": \"\"\n        },\n        \"shareMode\": \"\"\n      },\n      \"form\": {\n        \"formUrl\": \"\",\n        \"responseUrl\": \"\",\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\"\n      },\n      \"link\": {\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\",\n        \"url\": \"\"\n      },\n      \"youtubeVideo\": {\n        \"alternateLink\": \"\",\n        \"id\": \"\",\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\"\n      }\n    }\n  ],\n  \"scheduledTime\": \"\",\n  \"state\": \"\",\n  \"text\": \"\",\n  \"updateTime\": \"\"\n}");

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

(client/post "{{baseUrl}}/v1/courses/:courseId/announcements" {:content-type :json
                                                                               :form-params {:alternateLink ""
                                                                                             :assigneeMode ""
                                                                                             :courseId ""
                                                                                             :creationTime ""
                                                                                             :creatorUserId ""
                                                                                             :id ""
                                                                                             :individualStudentsOptions {:studentIds []}
                                                                                             :materials [{:driveFile {:driveFile {:alternateLink ""
                                                                                                                                  :id ""
                                                                                                                                  :thumbnailUrl ""
                                                                                                                                  :title ""}
                                                                                                                      :shareMode ""}
                                                                                                          :form {:formUrl ""
                                                                                                                 :responseUrl ""
                                                                                                                 :thumbnailUrl ""
                                                                                                                 :title ""}
                                                                                                          :link {:thumbnailUrl ""
                                                                                                                 :title ""
                                                                                                                 :url ""}
                                                                                                          :youtubeVideo {:alternateLink ""
                                                                                                                         :id ""
                                                                                                                         :thumbnailUrl ""
                                                                                                                         :title ""}}]
                                                                                             :scheduledTime ""
                                                                                             :state ""
                                                                                             :text ""
                                                                                             :updateTime ""}})
require "http/client"

url = "{{baseUrl}}/v1/courses/:courseId/announcements"
headers = HTTP::Headers{
  "content-type" => "application/json"
}
reqBody = "{\n  \"alternateLink\": \"\",\n  \"assigneeMode\": \"\",\n  \"courseId\": \"\",\n  \"creationTime\": \"\",\n  \"creatorUserId\": \"\",\n  \"id\": \"\",\n  \"individualStudentsOptions\": {\n    \"studentIds\": []\n  },\n  \"materials\": [\n    {\n      \"driveFile\": {\n        \"driveFile\": {\n          \"alternateLink\": \"\",\n          \"id\": \"\",\n          \"thumbnailUrl\": \"\",\n          \"title\": \"\"\n        },\n        \"shareMode\": \"\"\n      },\n      \"form\": {\n        \"formUrl\": \"\",\n        \"responseUrl\": \"\",\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\"\n      },\n      \"link\": {\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\",\n        \"url\": \"\"\n      },\n      \"youtubeVideo\": {\n        \"alternateLink\": \"\",\n        \"id\": \"\",\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\"\n      }\n    }\n  ],\n  \"scheduledTime\": \"\",\n  \"state\": \"\",\n  \"text\": \"\",\n  \"updateTime\": \"\"\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}}/v1/courses/:courseId/announcements"),
    Content = new StringContent("{\n  \"alternateLink\": \"\",\n  \"assigneeMode\": \"\",\n  \"courseId\": \"\",\n  \"creationTime\": \"\",\n  \"creatorUserId\": \"\",\n  \"id\": \"\",\n  \"individualStudentsOptions\": {\n    \"studentIds\": []\n  },\n  \"materials\": [\n    {\n      \"driveFile\": {\n        \"driveFile\": {\n          \"alternateLink\": \"\",\n          \"id\": \"\",\n          \"thumbnailUrl\": \"\",\n          \"title\": \"\"\n        },\n        \"shareMode\": \"\"\n      },\n      \"form\": {\n        \"formUrl\": \"\",\n        \"responseUrl\": \"\",\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\"\n      },\n      \"link\": {\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\",\n        \"url\": \"\"\n      },\n      \"youtubeVideo\": {\n        \"alternateLink\": \"\",\n        \"id\": \"\",\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\"\n      }\n    }\n  ],\n  \"scheduledTime\": \"\",\n  \"state\": \"\",\n  \"text\": \"\",\n  \"updateTime\": \"\"\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}}/v1/courses/:courseId/announcements");
var request = new RestRequest("", Method.Post);
request.AddHeader("content-type", "application/json");
request.AddParameter("application/json", "{\n  \"alternateLink\": \"\",\n  \"assigneeMode\": \"\",\n  \"courseId\": \"\",\n  \"creationTime\": \"\",\n  \"creatorUserId\": \"\",\n  \"id\": \"\",\n  \"individualStudentsOptions\": {\n    \"studentIds\": []\n  },\n  \"materials\": [\n    {\n      \"driveFile\": {\n        \"driveFile\": {\n          \"alternateLink\": \"\",\n          \"id\": \"\",\n          \"thumbnailUrl\": \"\",\n          \"title\": \"\"\n        },\n        \"shareMode\": \"\"\n      },\n      \"form\": {\n        \"formUrl\": \"\",\n        \"responseUrl\": \"\",\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\"\n      },\n      \"link\": {\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\",\n        \"url\": \"\"\n      },\n      \"youtubeVideo\": {\n        \"alternateLink\": \"\",\n        \"id\": \"\",\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\"\n      }\n    }\n  ],\n  \"scheduledTime\": \"\",\n  \"state\": \"\",\n  \"text\": \"\",\n  \"updateTime\": \"\"\n}", ParameterType.RequestBody);
var response = client.Execute(request);
package main

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

func main() {

	url := "{{baseUrl}}/v1/courses/:courseId/announcements"

	payload := strings.NewReader("{\n  \"alternateLink\": \"\",\n  \"assigneeMode\": \"\",\n  \"courseId\": \"\",\n  \"creationTime\": \"\",\n  \"creatorUserId\": \"\",\n  \"id\": \"\",\n  \"individualStudentsOptions\": {\n    \"studentIds\": []\n  },\n  \"materials\": [\n    {\n      \"driveFile\": {\n        \"driveFile\": {\n          \"alternateLink\": \"\",\n          \"id\": \"\",\n          \"thumbnailUrl\": \"\",\n          \"title\": \"\"\n        },\n        \"shareMode\": \"\"\n      },\n      \"form\": {\n        \"formUrl\": \"\",\n        \"responseUrl\": \"\",\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\"\n      },\n      \"link\": {\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\",\n        \"url\": \"\"\n      },\n      \"youtubeVideo\": {\n        \"alternateLink\": \"\",\n        \"id\": \"\",\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\"\n      }\n    }\n  ],\n  \"scheduledTime\": \"\",\n  \"state\": \"\",\n  \"text\": \"\",\n  \"updateTime\": \"\"\n}")

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

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

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

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

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

}
POST /baseUrl/v1/courses/:courseId/announcements HTTP/1.1
Content-Type: application/json
Host: example.com
Content-Length: 820

{
  "alternateLink": "",
  "assigneeMode": "",
  "courseId": "",
  "creationTime": "",
  "creatorUserId": "",
  "id": "",
  "individualStudentsOptions": {
    "studentIds": []
  },
  "materials": [
    {
      "driveFile": {
        "driveFile": {
          "alternateLink": "",
          "id": "",
          "thumbnailUrl": "",
          "title": ""
        },
        "shareMode": ""
      },
      "form": {
        "formUrl": "",
        "responseUrl": "",
        "thumbnailUrl": "",
        "title": ""
      },
      "link": {
        "thumbnailUrl": "",
        "title": "",
        "url": ""
      },
      "youtubeVideo": {
        "alternateLink": "",
        "id": "",
        "thumbnailUrl": "",
        "title": ""
      }
    }
  ],
  "scheduledTime": "",
  "state": "",
  "text": "",
  "updateTime": ""
}
AsyncHttpClient client = new DefaultAsyncHttpClient();
client.prepare("POST", "{{baseUrl}}/v1/courses/:courseId/announcements")
  .setHeader("content-type", "application/json")
  .setBody("{\n  \"alternateLink\": \"\",\n  \"assigneeMode\": \"\",\n  \"courseId\": \"\",\n  \"creationTime\": \"\",\n  \"creatorUserId\": \"\",\n  \"id\": \"\",\n  \"individualStudentsOptions\": {\n    \"studentIds\": []\n  },\n  \"materials\": [\n    {\n      \"driveFile\": {\n        \"driveFile\": {\n          \"alternateLink\": \"\",\n          \"id\": \"\",\n          \"thumbnailUrl\": \"\",\n          \"title\": \"\"\n        },\n        \"shareMode\": \"\"\n      },\n      \"form\": {\n        \"formUrl\": \"\",\n        \"responseUrl\": \"\",\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\"\n      },\n      \"link\": {\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\",\n        \"url\": \"\"\n      },\n      \"youtubeVideo\": {\n        \"alternateLink\": \"\",\n        \"id\": \"\",\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\"\n      }\n    }\n  ],\n  \"scheduledTime\": \"\",\n  \"state\": \"\",\n  \"text\": \"\",\n  \"updateTime\": \"\"\n}")
  .execute()
  .toCompletableFuture()
  .thenAccept(System.out::println)
  .join();

client.close();
HttpRequest request = HttpRequest.newBuilder()
    .uri(URI.create("{{baseUrl}}/v1/courses/:courseId/announcements"))
    .header("content-type", "application/json")
    .method("POST", HttpRequest.BodyPublishers.ofString("{\n  \"alternateLink\": \"\",\n  \"assigneeMode\": \"\",\n  \"courseId\": \"\",\n  \"creationTime\": \"\",\n  \"creatorUserId\": \"\",\n  \"id\": \"\",\n  \"individualStudentsOptions\": {\n    \"studentIds\": []\n  },\n  \"materials\": [\n    {\n      \"driveFile\": {\n        \"driveFile\": {\n          \"alternateLink\": \"\",\n          \"id\": \"\",\n          \"thumbnailUrl\": \"\",\n          \"title\": \"\"\n        },\n        \"shareMode\": \"\"\n      },\n      \"form\": {\n        \"formUrl\": \"\",\n        \"responseUrl\": \"\",\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\"\n      },\n      \"link\": {\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\",\n        \"url\": \"\"\n      },\n      \"youtubeVideo\": {\n        \"alternateLink\": \"\",\n        \"id\": \"\",\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\"\n      }\n    }\n  ],\n  \"scheduledTime\": \"\",\n  \"state\": \"\",\n  \"text\": \"\",\n  \"updateTime\": \"\"\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  \"alternateLink\": \"\",\n  \"assigneeMode\": \"\",\n  \"courseId\": \"\",\n  \"creationTime\": \"\",\n  \"creatorUserId\": \"\",\n  \"id\": \"\",\n  \"individualStudentsOptions\": {\n    \"studentIds\": []\n  },\n  \"materials\": [\n    {\n      \"driveFile\": {\n        \"driveFile\": {\n          \"alternateLink\": \"\",\n          \"id\": \"\",\n          \"thumbnailUrl\": \"\",\n          \"title\": \"\"\n        },\n        \"shareMode\": \"\"\n      },\n      \"form\": {\n        \"formUrl\": \"\",\n        \"responseUrl\": \"\",\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\"\n      },\n      \"link\": {\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\",\n        \"url\": \"\"\n      },\n      \"youtubeVideo\": {\n        \"alternateLink\": \"\",\n        \"id\": \"\",\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\"\n      }\n    }\n  ],\n  \"scheduledTime\": \"\",\n  \"state\": \"\",\n  \"text\": \"\",\n  \"updateTime\": \"\"\n}");
Request request = new Request.Builder()
  .url("{{baseUrl}}/v1/courses/:courseId/announcements")
  .post(body)
  .addHeader("content-type", "application/json")
  .build();

Response response = client.newCall(request).execute();
HttpResponse response = Unirest.post("{{baseUrl}}/v1/courses/:courseId/announcements")
  .header("content-type", "application/json")
  .body("{\n  \"alternateLink\": \"\",\n  \"assigneeMode\": \"\",\n  \"courseId\": \"\",\n  \"creationTime\": \"\",\n  \"creatorUserId\": \"\",\n  \"id\": \"\",\n  \"individualStudentsOptions\": {\n    \"studentIds\": []\n  },\n  \"materials\": [\n    {\n      \"driveFile\": {\n        \"driveFile\": {\n          \"alternateLink\": \"\",\n          \"id\": \"\",\n          \"thumbnailUrl\": \"\",\n          \"title\": \"\"\n        },\n        \"shareMode\": \"\"\n      },\n      \"form\": {\n        \"formUrl\": \"\",\n        \"responseUrl\": \"\",\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\"\n      },\n      \"link\": {\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\",\n        \"url\": \"\"\n      },\n      \"youtubeVideo\": {\n        \"alternateLink\": \"\",\n        \"id\": \"\",\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\"\n      }\n    }\n  ],\n  \"scheduledTime\": \"\",\n  \"state\": \"\",\n  \"text\": \"\",\n  \"updateTime\": \"\"\n}")
  .asString();
const data = JSON.stringify({
  alternateLink: '',
  assigneeMode: '',
  courseId: '',
  creationTime: '',
  creatorUserId: '',
  id: '',
  individualStudentsOptions: {
    studentIds: []
  },
  materials: [
    {
      driveFile: {
        driveFile: {
          alternateLink: '',
          id: '',
          thumbnailUrl: '',
          title: ''
        },
        shareMode: ''
      },
      form: {
        formUrl: '',
        responseUrl: '',
        thumbnailUrl: '',
        title: ''
      },
      link: {
        thumbnailUrl: '',
        title: '',
        url: ''
      },
      youtubeVideo: {
        alternateLink: '',
        id: '',
        thumbnailUrl: '',
        title: ''
      }
    }
  ],
  scheduledTime: '',
  state: '',
  text: '',
  updateTime: ''
});

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

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

xhr.open('POST', '{{baseUrl}}/v1/courses/:courseId/announcements');
xhr.setRequestHeader('content-type', 'application/json');

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

const options = {
  method: 'POST',
  url: '{{baseUrl}}/v1/courses/:courseId/announcements',
  headers: {'content-type': 'application/json'},
  data: {
    alternateLink: '',
    assigneeMode: '',
    courseId: '',
    creationTime: '',
    creatorUserId: '',
    id: '',
    individualStudentsOptions: {studentIds: []},
    materials: [
      {
        driveFile: {
          driveFile: {alternateLink: '', id: '', thumbnailUrl: '', title: ''},
          shareMode: ''
        },
        form: {formUrl: '', responseUrl: '', thumbnailUrl: '', title: ''},
        link: {thumbnailUrl: '', title: '', url: ''},
        youtubeVideo: {alternateLink: '', id: '', thumbnailUrl: '', title: ''}
      }
    ],
    scheduledTime: '',
    state: '',
    text: '',
    updateTime: ''
  }
};

try {
  const { data } = await axios.request(options);
  console.log(data);
} catch (error) {
  console.error(error);
}
const url = '{{baseUrl}}/v1/courses/:courseId/announcements';
const options = {
  method: 'POST',
  headers: {'content-type': 'application/json'},
  body: '{"alternateLink":"","assigneeMode":"","courseId":"","creationTime":"","creatorUserId":"","id":"","individualStudentsOptions":{"studentIds":[]},"materials":[{"driveFile":{"driveFile":{"alternateLink":"","id":"","thumbnailUrl":"","title":""},"shareMode":""},"form":{"formUrl":"","responseUrl":"","thumbnailUrl":"","title":""},"link":{"thumbnailUrl":"","title":"","url":""},"youtubeVideo":{"alternateLink":"","id":"","thumbnailUrl":"","title":""}}],"scheduledTime":"","state":"","text":"","updateTime":""}'
};

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}}/v1/courses/:courseId/announcements',
  method: 'POST',
  headers: {
    'content-type': 'application/json'
  },
  processData: false,
  data: '{\n  "alternateLink": "",\n  "assigneeMode": "",\n  "courseId": "",\n  "creationTime": "",\n  "creatorUserId": "",\n  "id": "",\n  "individualStudentsOptions": {\n    "studentIds": []\n  },\n  "materials": [\n    {\n      "driveFile": {\n        "driveFile": {\n          "alternateLink": "",\n          "id": "",\n          "thumbnailUrl": "",\n          "title": ""\n        },\n        "shareMode": ""\n      },\n      "form": {\n        "formUrl": "",\n        "responseUrl": "",\n        "thumbnailUrl": "",\n        "title": ""\n      },\n      "link": {\n        "thumbnailUrl": "",\n        "title": "",\n        "url": ""\n      },\n      "youtubeVideo": {\n        "alternateLink": "",\n        "id": "",\n        "thumbnailUrl": "",\n        "title": ""\n      }\n    }\n  ],\n  "scheduledTime": "",\n  "state": "",\n  "text": "",\n  "updateTime": ""\n}'
};

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

val mediaType = MediaType.parse("application/json")
val body = RequestBody.create(mediaType, "{\n  \"alternateLink\": \"\",\n  \"assigneeMode\": \"\",\n  \"courseId\": \"\",\n  \"creationTime\": \"\",\n  \"creatorUserId\": \"\",\n  \"id\": \"\",\n  \"individualStudentsOptions\": {\n    \"studentIds\": []\n  },\n  \"materials\": [\n    {\n      \"driveFile\": {\n        \"driveFile\": {\n          \"alternateLink\": \"\",\n          \"id\": \"\",\n          \"thumbnailUrl\": \"\",\n          \"title\": \"\"\n        },\n        \"shareMode\": \"\"\n      },\n      \"form\": {\n        \"formUrl\": \"\",\n        \"responseUrl\": \"\",\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\"\n      },\n      \"link\": {\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\",\n        \"url\": \"\"\n      },\n      \"youtubeVideo\": {\n        \"alternateLink\": \"\",\n        \"id\": \"\",\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\"\n      }\n    }\n  ],\n  \"scheduledTime\": \"\",\n  \"state\": \"\",\n  \"text\": \"\",\n  \"updateTime\": \"\"\n}")
val request = Request.Builder()
  .url("{{baseUrl}}/v1/courses/:courseId/announcements")
  .post(body)
  .addHeader("content-type", "application/json")
  .build()

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

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

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

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

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

req.write(JSON.stringify({
  alternateLink: '',
  assigneeMode: '',
  courseId: '',
  creationTime: '',
  creatorUserId: '',
  id: '',
  individualStudentsOptions: {studentIds: []},
  materials: [
    {
      driveFile: {
        driveFile: {alternateLink: '', id: '', thumbnailUrl: '', title: ''},
        shareMode: ''
      },
      form: {formUrl: '', responseUrl: '', thumbnailUrl: '', title: ''},
      link: {thumbnailUrl: '', title: '', url: ''},
      youtubeVideo: {alternateLink: '', id: '', thumbnailUrl: '', title: ''}
    }
  ],
  scheduledTime: '',
  state: '',
  text: '',
  updateTime: ''
}));
req.end();
const request = require('request');

const options = {
  method: 'POST',
  url: '{{baseUrl}}/v1/courses/:courseId/announcements',
  headers: {'content-type': 'application/json'},
  body: {
    alternateLink: '',
    assigneeMode: '',
    courseId: '',
    creationTime: '',
    creatorUserId: '',
    id: '',
    individualStudentsOptions: {studentIds: []},
    materials: [
      {
        driveFile: {
          driveFile: {alternateLink: '', id: '', thumbnailUrl: '', title: ''},
          shareMode: ''
        },
        form: {formUrl: '', responseUrl: '', thumbnailUrl: '', title: ''},
        link: {thumbnailUrl: '', title: '', url: ''},
        youtubeVideo: {alternateLink: '', id: '', thumbnailUrl: '', title: ''}
      }
    ],
    scheduledTime: '',
    state: '',
    text: '',
    updateTime: ''
  },
  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}}/v1/courses/:courseId/announcements');

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

req.type('json');
req.send({
  alternateLink: '',
  assigneeMode: '',
  courseId: '',
  creationTime: '',
  creatorUserId: '',
  id: '',
  individualStudentsOptions: {
    studentIds: []
  },
  materials: [
    {
      driveFile: {
        driveFile: {
          alternateLink: '',
          id: '',
          thumbnailUrl: '',
          title: ''
        },
        shareMode: ''
      },
      form: {
        formUrl: '',
        responseUrl: '',
        thumbnailUrl: '',
        title: ''
      },
      link: {
        thumbnailUrl: '',
        title: '',
        url: ''
      },
      youtubeVideo: {
        alternateLink: '',
        id: '',
        thumbnailUrl: '',
        title: ''
      }
    }
  ],
  scheduledTime: '',
  state: '',
  text: '',
  updateTime: ''
});

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}}/v1/courses/:courseId/announcements',
  headers: {'content-type': 'application/json'},
  data: {
    alternateLink: '',
    assigneeMode: '',
    courseId: '',
    creationTime: '',
    creatorUserId: '',
    id: '',
    individualStudentsOptions: {studentIds: []},
    materials: [
      {
        driveFile: {
          driveFile: {alternateLink: '', id: '', thumbnailUrl: '', title: ''},
          shareMode: ''
        },
        form: {formUrl: '', responseUrl: '', thumbnailUrl: '', title: ''},
        link: {thumbnailUrl: '', title: '', url: ''},
        youtubeVideo: {alternateLink: '', id: '', thumbnailUrl: '', title: ''}
      }
    ],
    scheduledTime: '',
    state: '',
    text: '',
    updateTime: ''
  }
};

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

const url = '{{baseUrl}}/v1/courses/:courseId/announcements';
const options = {
  method: 'POST',
  headers: {'content-type': 'application/json'},
  body: '{"alternateLink":"","assigneeMode":"","courseId":"","creationTime":"","creatorUserId":"","id":"","individualStudentsOptions":{"studentIds":[]},"materials":[{"driveFile":{"driveFile":{"alternateLink":"","id":"","thumbnailUrl":"","title":""},"shareMode":""},"form":{"formUrl":"","responseUrl":"","thumbnailUrl":"","title":""},"link":{"thumbnailUrl":"","title":"","url":""},"youtubeVideo":{"alternateLink":"","id":"","thumbnailUrl":"","title":""}}],"scheduledTime":"","state":"","text":"","updateTime":""}'
};

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

NSDictionary *headers = @{ @"content-type": @"application/json" };
NSDictionary *parameters = @{ @"alternateLink": @"",
                              @"assigneeMode": @"",
                              @"courseId": @"",
                              @"creationTime": @"",
                              @"creatorUserId": @"",
                              @"id": @"",
                              @"individualStudentsOptions": @{ @"studentIds": @[  ] },
                              @"materials": @[ @{ @"driveFile": @{ @"driveFile": @{ @"alternateLink": @"", @"id": @"", @"thumbnailUrl": @"", @"title": @"" }, @"shareMode": @"" }, @"form": @{ @"formUrl": @"", @"responseUrl": @"", @"thumbnailUrl": @"", @"title": @"" }, @"link": @{ @"thumbnailUrl": @"", @"title": @"", @"url": @"" }, @"youtubeVideo": @{ @"alternateLink": @"", @"id": @"", @"thumbnailUrl": @"", @"title": @"" } } ],
                              @"scheduledTime": @"",
                              @"state": @"",
                              @"text": @"",
                              @"updateTime": @"" };

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

NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"{{baseUrl}}/v1/courses/:courseId/announcements"]
                                                       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}}/v1/courses/:courseId/announcements" in
let headers = Header.add (Header.init ()) "content-type" "application/json" in
let body = Cohttp_lwt_body.of_string "{\n  \"alternateLink\": \"\",\n  \"assigneeMode\": \"\",\n  \"courseId\": \"\",\n  \"creationTime\": \"\",\n  \"creatorUserId\": \"\",\n  \"id\": \"\",\n  \"individualStudentsOptions\": {\n    \"studentIds\": []\n  },\n  \"materials\": [\n    {\n      \"driveFile\": {\n        \"driveFile\": {\n          \"alternateLink\": \"\",\n          \"id\": \"\",\n          \"thumbnailUrl\": \"\",\n          \"title\": \"\"\n        },\n        \"shareMode\": \"\"\n      },\n      \"form\": {\n        \"formUrl\": \"\",\n        \"responseUrl\": \"\",\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\"\n      },\n      \"link\": {\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\",\n        \"url\": \"\"\n      },\n      \"youtubeVideo\": {\n        \"alternateLink\": \"\",\n        \"id\": \"\",\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\"\n      }\n    }\n  ],\n  \"scheduledTime\": \"\",\n  \"state\": \"\",\n  \"text\": \"\",\n  \"updateTime\": \"\"\n}" in

Client.call ~headers ~body `POST uri
>>= fun (res, body_stream) ->
  (* Do stuff with the result *)
 "{{baseUrl}}/v1/courses/:courseId/announcements",
  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([
    'alternateLink' => '',
    'assigneeMode' => '',
    'courseId' => '',
    'creationTime' => '',
    'creatorUserId' => '',
    'id' => '',
    'individualStudentsOptions' => [
        'studentIds' => [
                
        ]
    ],
    'materials' => [
        [
                'driveFile' => [
                                'driveFile' => [
                                                                'alternateLink' => '',
                                                                'id' => '',
                                                                'thumbnailUrl' => '',
                                                                'title' => ''
                                ],
                                'shareMode' => ''
                ],
                'form' => [
                                'formUrl' => '',
                                'responseUrl' => '',
                                'thumbnailUrl' => '',
                                'title' => ''
                ],
                'link' => [
                                'thumbnailUrl' => '',
                                'title' => '',
                                'url' => ''
                ],
                'youtubeVideo' => [
                                'alternateLink' => '',
                                'id' => '',
                                'thumbnailUrl' => '',
                                'title' => ''
                ]
        ]
    ],
    'scheduledTime' => '',
    'state' => '',
    'text' => '',
    'updateTime' => ''
  ]),
  CURLOPT_HTTPHEADER => [
    "content-type: application/json"
  ],
]);

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

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
request('POST', '{{baseUrl}}/v1/courses/:courseId/announcements', [
  'body' => '{
  "alternateLink": "",
  "assigneeMode": "",
  "courseId": "",
  "creationTime": "",
  "creatorUserId": "",
  "id": "",
  "individualStudentsOptions": {
    "studentIds": []
  },
  "materials": [
    {
      "driveFile": {
        "driveFile": {
          "alternateLink": "",
          "id": "",
          "thumbnailUrl": "",
          "title": ""
        },
        "shareMode": ""
      },
      "form": {
        "formUrl": "",
        "responseUrl": "",
        "thumbnailUrl": "",
        "title": ""
      },
      "link": {
        "thumbnailUrl": "",
        "title": "",
        "url": ""
      },
      "youtubeVideo": {
        "alternateLink": "",
        "id": "",
        "thumbnailUrl": "",
        "title": ""
      }
    }
  ],
  "scheduledTime": "",
  "state": "",
  "text": "",
  "updateTime": ""
}',
  'headers' => [
    'content-type' => 'application/json',
  ],
]);

echo $response->getBody();
setUrl('{{baseUrl}}/v1/courses/:courseId/announcements');
$request->setMethod(HTTP_METH_POST);

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

$request->setContentType('application/json');
$request->setBody(json_encode([
  'alternateLink' => '',
  'assigneeMode' => '',
  'courseId' => '',
  'creationTime' => '',
  'creatorUserId' => '',
  'id' => '',
  'individualStudentsOptions' => [
    'studentIds' => [
        
    ]
  ],
  'materials' => [
    [
        'driveFile' => [
                'driveFile' => [
                                'alternateLink' => '',
                                'id' => '',
                                'thumbnailUrl' => '',
                                'title' => ''
                ],
                'shareMode' => ''
        ],
        'form' => [
                'formUrl' => '',
                'responseUrl' => '',
                'thumbnailUrl' => '',
                'title' => ''
        ],
        'link' => [
                'thumbnailUrl' => '',
                'title' => '',
                'url' => ''
        ],
        'youtubeVideo' => [
                'alternateLink' => '',
                'id' => '',
                'thumbnailUrl' => '',
                'title' => ''
        ]
    ]
  ],
  'scheduledTime' => '',
  'state' => '',
  'text' => '',
  'updateTime' => ''
]));

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

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
append(json_encode([
  'alternateLink' => '',
  'assigneeMode' => '',
  'courseId' => '',
  'creationTime' => '',
  'creatorUserId' => '',
  'id' => '',
  'individualStudentsOptions' => [
    'studentIds' => [
        
    ]
  ],
  'materials' => [
    [
        'driveFile' => [
                'driveFile' => [
                                'alternateLink' => '',
                                'id' => '',
                                'thumbnailUrl' => '',
                                'title' => ''
                ],
                'shareMode' => ''
        ],
        'form' => [
                'formUrl' => '',
                'responseUrl' => '',
                'thumbnailUrl' => '',
                'title' => ''
        ],
        'link' => [
                'thumbnailUrl' => '',
                'title' => '',
                'url' => ''
        ],
        'youtubeVideo' => [
                'alternateLink' => '',
                'id' => '',
                'thumbnailUrl' => '',
                'title' => ''
        ]
    ]
  ],
  'scheduledTime' => '',
  'state' => '',
  'text' => '',
  'updateTime' => ''
]));
$request->setRequestUrl('{{baseUrl}}/v1/courses/:courseId/announcements');
$request->setRequestMethod('POST');
$request->setBody($body);

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

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

echo $response->getBody();
$headers=@{}
$headers.Add("content-type", "application/json")
$response = Invoke-WebRequest -Uri '{{baseUrl}}/v1/courses/:courseId/announcements' -Method POST -Headers $headers -ContentType 'application/json' -Body '{
  "alternateLink": "",
  "assigneeMode": "",
  "courseId": "",
  "creationTime": "",
  "creatorUserId": "",
  "id": "",
  "individualStudentsOptions": {
    "studentIds": []
  },
  "materials": [
    {
      "driveFile": {
        "driveFile": {
          "alternateLink": "",
          "id": "",
          "thumbnailUrl": "",
          "title": ""
        },
        "shareMode": ""
      },
      "form": {
        "formUrl": "",
        "responseUrl": "",
        "thumbnailUrl": "",
        "title": ""
      },
      "link": {
        "thumbnailUrl": "",
        "title": "",
        "url": ""
      },
      "youtubeVideo": {
        "alternateLink": "",
        "id": "",
        "thumbnailUrl": "",
        "title": ""
      }
    }
  ],
  "scheduledTime": "",
  "state": "",
  "text": "",
  "updateTime": ""
}'
$headers=@{}
$headers.Add("content-type", "application/json")
$response = Invoke-RestMethod -Uri '{{baseUrl}}/v1/courses/:courseId/announcements' -Method POST -Headers $headers -ContentType 'application/json' -Body '{
  "alternateLink": "",
  "assigneeMode": "",
  "courseId": "",
  "creationTime": "",
  "creatorUserId": "",
  "id": "",
  "individualStudentsOptions": {
    "studentIds": []
  },
  "materials": [
    {
      "driveFile": {
        "driveFile": {
          "alternateLink": "",
          "id": "",
          "thumbnailUrl": "",
          "title": ""
        },
        "shareMode": ""
      },
      "form": {
        "formUrl": "",
        "responseUrl": "",
        "thumbnailUrl": "",
        "title": ""
      },
      "link": {
        "thumbnailUrl": "",
        "title": "",
        "url": ""
      },
      "youtubeVideo": {
        "alternateLink": "",
        "id": "",
        "thumbnailUrl": "",
        "title": ""
      }
    }
  ],
  "scheduledTime": "",
  "state": "",
  "text": "",
  "updateTime": ""
}'
import http.client

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

payload = "{\n  \"alternateLink\": \"\",\n  \"assigneeMode\": \"\",\n  \"courseId\": \"\",\n  \"creationTime\": \"\",\n  \"creatorUserId\": \"\",\n  \"id\": \"\",\n  \"individualStudentsOptions\": {\n    \"studentIds\": []\n  },\n  \"materials\": [\n    {\n      \"driveFile\": {\n        \"driveFile\": {\n          \"alternateLink\": \"\",\n          \"id\": \"\",\n          \"thumbnailUrl\": \"\",\n          \"title\": \"\"\n        },\n        \"shareMode\": \"\"\n      },\n      \"form\": {\n        \"formUrl\": \"\",\n        \"responseUrl\": \"\",\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\"\n      },\n      \"link\": {\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\",\n        \"url\": \"\"\n      },\n      \"youtubeVideo\": {\n        \"alternateLink\": \"\",\n        \"id\": \"\",\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\"\n      }\n    }\n  ],\n  \"scheduledTime\": \"\",\n  \"state\": \"\",\n  \"text\": \"\",\n  \"updateTime\": \"\"\n}"

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

conn.request("POST", "/baseUrl/v1/courses/:courseId/announcements", payload, headers)

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

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

url = "{{baseUrl}}/v1/courses/:courseId/announcements"

payload = {
    "alternateLink": "",
    "assigneeMode": "",
    "courseId": "",
    "creationTime": "",
    "creatorUserId": "",
    "id": "",
    "individualStudentsOptions": { "studentIds": [] },
    "materials": [
        {
            "driveFile": {
                "driveFile": {
                    "alternateLink": "",
                    "id": "",
                    "thumbnailUrl": "",
                    "title": ""
                },
                "shareMode": ""
            },
            "form": {
                "formUrl": "",
                "responseUrl": "",
                "thumbnailUrl": "",
                "title": ""
            },
            "link": {
                "thumbnailUrl": "",
                "title": "",
                "url": ""
            },
            "youtubeVideo": {
                "alternateLink": "",
                "id": "",
                "thumbnailUrl": "",
                "title": ""
            }
        }
    ],
    "scheduledTime": "",
    "state": "",
    "text": "",
    "updateTime": ""
}
headers = {"content-type": "application/json"}

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

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

url <- "{{baseUrl}}/v1/courses/:courseId/announcements"

payload <- "{\n  \"alternateLink\": \"\",\n  \"assigneeMode\": \"\",\n  \"courseId\": \"\",\n  \"creationTime\": \"\",\n  \"creatorUserId\": \"\",\n  \"id\": \"\",\n  \"individualStudentsOptions\": {\n    \"studentIds\": []\n  },\n  \"materials\": [\n    {\n      \"driveFile\": {\n        \"driveFile\": {\n          \"alternateLink\": \"\",\n          \"id\": \"\",\n          \"thumbnailUrl\": \"\",\n          \"title\": \"\"\n        },\n        \"shareMode\": \"\"\n      },\n      \"form\": {\n        \"formUrl\": \"\",\n        \"responseUrl\": \"\",\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\"\n      },\n      \"link\": {\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\",\n        \"url\": \"\"\n      },\n      \"youtubeVideo\": {\n        \"alternateLink\": \"\",\n        \"id\": \"\",\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\"\n      }\n    }\n  ],\n  \"scheduledTime\": \"\",\n  \"state\": \"\",\n  \"text\": \"\",\n  \"updateTime\": \"\"\n}"

encode <- "json"

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

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

url = URI("{{baseUrl}}/v1/courses/:courseId/announcements")

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

request = Net::HTTP::Post.new(url)
request["content-type"] = 'application/json'
request.body = "{\n  \"alternateLink\": \"\",\n  \"assigneeMode\": \"\",\n  \"courseId\": \"\",\n  \"creationTime\": \"\",\n  \"creatorUserId\": \"\",\n  \"id\": \"\",\n  \"individualStudentsOptions\": {\n    \"studentIds\": []\n  },\n  \"materials\": [\n    {\n      \"driveFile\": {\n        \"driveFile\": {\n          \"alternateLink\": \"\",\n          \"id\": \"\",\n          \"thumbnailUrl\": \"\",\n          \"title\": \"\"\n        },\n        \"shareMode\": \"\"\n      },\n      \"form\": {\n        \"formUrl\": \"\",\n        \"responseUrl\": \"\",\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\"\n      },\n      \"link\": {\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\",\n        \"url\": \"\"\n      },\n      \"youtubeVideo\": {\n        \"alternateLink\": \"\",\n        \"id\": \"\",\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\"\n      }\n    }\n  ],\n  \"scheduledTime\": \"\",\n  \"state\": \"\",\n  \"text\": \"\",\n  \"updateTime\": \"\"\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/v1/courses/:courseId/announcements') do |req|
  req.body = "{\n  \"alternateLink\": \"\",\n  \"assigneeMode\": \"\",\n  \"courseId\": \"\",\n  \"creationTime\": \"\",\n  \"creatorUserId\": \"\",\n  \"id\": \"\",\n  \"individualStudentsOptions\": {\n    \"studentIds\": []\n  },\n  \"materials\": [\n    {\n      \"driveFile\": {\n        \"driveFile\": {\n          \"alternateLink\": \"\",\n          \"id\": \"\",\n          \"thumbnailUrl\": \"\",\n          \"title\": \"\"\n        },\n        \"shareMode\": \"\"\n      },\n      \"form\": {\n        \"formUrl\": \"\",\n        \"responseUrl\": \"\",\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\"\n      },\n      \"link\": {\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\",\n        \"url\": \"\"\n      },\n      \"youtubeVideo\": {\n        \"alternateLink\": \"\",\n        \"id\": \"\",\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\"\n      }\n    }\n  ],\n  \"scheduledTime\": \"\",\n  \"state\": \"\",\n  \"text\": \"\",\n  \"updateTime\": \"\"\n}"
end

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

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

    let payload = json!({
        "alternateLink": "",
        "assigneeMode": "",
        "courseId": "",
        "creationTime": "",
        "creatorUserId": "",
        "id": "",
        "individualStudentsOptions": json!({"studentIds": ()}),
        "materials": (
            json!({
                "driveFile": json!({
                    "driveFile": json!({
                        "alternateLink": "",
                        "id": "",
                        "thumbnailUrl": "",
                        "title": ""
                    }),
                    "shareMode": ""
                }),
                "form": json!({
                    "formUrl": "",
                    "responseUrl": "",
                    "thumbnailUrl": "",
                    "title": ""
                }),
                "link": json!({
                    "thumbnailUrl": "",
                    "title": "",
                    "url": ""
                }),
                "youtubeVideo": json!({
                    "alternateLink": "",
                    "id": "",
                    "thumbnailUrl": "",
                    "title": ""
                })
            })
        ),
        "scheduledTime": "",
        "state": "",
        "text": "",
        "updateTime": ""
    });

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

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

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

    dbg!(results);
}
curl --request POST \
  --url {{baseUrl}}/v1/courses/:courseId/announcements \
  --header 'content-type: application/json' \
  --data '{
  "alternateLink": "",
  "assigneeMode": "",
  "courseId": "",
  "creationTime": "",
  "creatorUserId": "",
  "id": "",
  "individualStudentsOptions": {
    "studentIds": []
  },
  "materials": [
    {
      "driveFile": {
        "driveFile": {
          "alternateLink": "",
          "id": "",
          "thumbnailUrl": "",
          "title": ""
        },
        "shareMode": ""
      },
      "form": {
        "formUrl": "",
        "responseUrl": "",
        "thumbnailUrl": "",
        "title": ""
      },
      "link": {
        "thumbnailUrl": "",
        "title": "",
        "url": ""
      },
      "youtubeVideo": {
        "alternateLink": "",
        "id": "",
        "thumbnailUrl": "",
        "title": ""
      }
    }
  ],
  "scheduledTime": "",
  "state": "",
  "text": "",
  "updateTime": ""
}'
echo '{
  "alternateLink": "",
  "assigneeMode": "",
  "courseId": "",
  "creationTime": "",
  "creatorUserId": "",
  "id": "",
  "individualStudentsOptions": {
    "studentIds": []
  },
  "materials": [
    {
      "driveFile": {
        "driveFile": {
          "alternateLink": "",
          "id": "",
          "thumbnailUrl": "",
          "title": ""
        },
        "shareMode": ""
      },
      "form": {
        "formUrl": "",
        "responseUrl": "",
        "thumbnailUrl": "",
        "title": ""
      },
      "link": {
        "thumbnailUrl": "",
        "title": "",
        "url": ""
      },
      "youtubeVideo": {
        "alternateLink": "",
        "id": "",
        "thumbnailUrl": "",
        "title": ""
      }
    }
  ],
  "scheduledTime": "",
  "state": "",
  "text": "",
  "updateTime": ""
}' |  \
  http POST {{baseUrl}}/v1/courses/:courseId/announcements \
  content-type:application/json
wget --quiet \
  --method POST \
  --header 'content-type: application/json' \
  --body-data '{\n  "alternateLink": "",\n  "assigneeMode": "",\n  "courseId": "",\n  "creationTime": "",\n  "creatorUserId": "",\n  "id": "",\n  "individualStudentsOptions": {\n    "studentIds": []\n  },\n  "materials": [\n    {\n      "driveFile": {\n        "driveFile": {\n          "alternateLink": "",\n          "id": "",\n          "thumbnailUrl": "",\n          "title": ""\n        },\n        "shareMode": ""\n      },\n      "form": {\n        "formUrl": "",\n        "responseUrl": "",\n        "thumbnailUrl": "",\n        "title": ""\n      },\n      "link": {\n        "thumbnailUrl": "",\n        "title": "",\n        "url": ""\n      },\n      "youtubeVideo": {\n        "alternateLink": "",\n        "id": "",\n        "thumbnailUrl": "",\n        "title": ""\n      }\n    }\n  ],\n  "scheduledTime": "",\n  "state": "",\n  "text": "",\n  "updateTime": ""\n}' \
  --output-document \
  - {{baseUrl}}/v1/courses/:courseId/announcements
import Foundation

let headers = ["content-type": "application/json"]
let parameters = [
  "alternateLink": "",
  "assigneeMode": "",
  "courseId": "",
  "creationTime": "",
  "creatorUserId": "",
  "id": "",
  "individualStudentsOptions": ["studentIds": []],
  "materials": [
    [
      "driveFile": [
        "driveFile": [
          "alternateLink": "",
          "id": "",
          "thumbnailUrl": "",
          "title": ""
        ],
        "shareMode": ""
      ],
      "form": [
        "formUrl": "",
        "responseUrl": "",
        "thumbnailUrl": "",
        "title": ""
      ],
      "link": [
        "thumbnailUrl": "",
        "title": "",
        "url": ""
      ],
      "youtubeVideo": [
        "alternateLink": "",
        "id": "",
        "thumbnailUrl": "",
        "title": ""
      ]
    ]
  ],
  "scheduledTime": "",
  "state": "",
  "text": "",
  "updateTime": ""
] as [String : Any]

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

let request = NSMutableURLRequest(url: NSURL(string: "{{baseUrl}}/v1/courses/:courseId/announcements")! 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()
DELETE classroom.courses.announcements.delete
{{baseUrl}}/v1/courses/:courseId/announcements/:id
QUERY PARAMS

courseId
id
Examples
REQUEST

CURL *hnd = curl_easy_init();

curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "DELETE");
curl_easy_setopt(hnd, CURLOPT_URL, "{{baseUrl}}/v1/courses/:courseId/announcements/:id");

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

(client/delete "{{baseUrl}}/v1/courses/:courseId/announcements/:id")
require "http/client"

url = "{{baseUrl}}/v1/courses/:courseId/announcements/:id"

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

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

func main() {

	url := "{{baseUrl}}/v1/courses/:courseId/announcements/:id"

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

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

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

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

}
DELETE /baseUrl/v1/courses/:courseId/announcements/:id HTTP/1.1
Host: example.com

AsyncHttpClient client = new DefaultAsyncHttpClient();
client.prepare("DELETE", "{{baseUrl}}/v1/courses/:courseId/announcements/:id")
  .execute()
  .toCompletableFuture()
  .thenAccept(System.out::println)
  .join();

client.close();
HttpRequest request = HttpRequest.newBuilder()
    .uri(URI.create("{{baseUrl}}/v1/courses/:courseId/announcements/:id"))
    .method("DELETE", 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}}/v1/courses/:courseId/announcements/:id")
  .delete(null)
  .build();

Response response = client.newCall(request).execute();
HttpResponse response = Unirest.delete("{{baseUrl}}/v1/courses/:courseId/announcements/:id")
  .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('DELETE', '{{baseUrl}}/v1/courses/:courseId/announcements/:id');

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

const options = {
  method: 'DELETE',
  url: '{{baseUrl}}/v1/courses/:courseId/announcements/:id'
};

try {
  const { data } = await axios.request(options);
  console.log(data);
} catch (error) {
  console.error(error);
}
const url = '{{baseUrl}}/v1/courses/:courseId/announcements/:id';
const options = {method: 'DELETE'};

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}}/v1/courses/:courseId/announcements/:id',
  method: 'DELETE',
  headers: {}
};

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

val request = Request.Builder()
  .url("{{baseUrl}}/v1/courses/:courseId/announcements/:id")
  .delete(null)
  .build()

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

const options = {
  method: 'DELETE',
  hostname: 'example.com',
  port: null,
  path: '/baseUrl/v1/courses/:courseId/announcements/:id',
  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: 'DELETE',
  url: '{{baseUrl}}/v1/courses/:courseId/announcements/:id'
};

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

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

const req = unirest('DELETE', '{{baseUrl}}/v1/courses/:courseId/announcements/:id');

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

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

const options = {
  method: 'DELETE',
  url: '{{baseUrl}}/v1/courses/:courseId/announcements/:id'
};

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

const url = '{{baseUrl}}/v1/courses/:courseId/announcements/:id';
const options = {method: 'DELETE'};

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}}/v1/courses/:courseId/announcements/:id"]
                                                       cachePolicy:NSURLRequestUseProtocolCachePolicy
                                                   timeoutInterval:10.0];
[request setHTTPMethod:@"DELETE"];

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}}/v1/courses/:courseId/announcements/:id" in

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

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

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
request('DELETE', '{{baseUrl}}/v1/courses/:courseId/announcements/:id');

echo $response->getBody();
setUrl('{{baseUrl}}/v1/courses/:courseId/announcements/:id');
$request->setMethod(HTTP_METH_DELETE);

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

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
setRequestUrl('{{baseUrl}}/v1/courses/:courseId/announcements/:id');
$request->setRequestMethod('DELETE');
$client->enqueue($request)->send();
$response = $client->getResponse();

echo $response->getBody();
$response = Invoke-WebRequest -Uri '{{baseUrl}}/v1/courses/:courseId/announcements/:id' -Method DELETE 
$response = Invoke-RestMethod -Uri '{{baseUrl}}/v1/courses/:courseId/announcements/:id' -Method DELETE 
import http.client

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

conn.request("DELETE", "/baseUrl/v1/courses/:courseId/announcements/:id")

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

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

url = "{{baseUrl}}/v1/courses/:courseId/announcements/:id"

response = requests.delete(url)

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

url <- "{{baseUrl}}/v1/courses/:courseId/announcements/:id"

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

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

url = URI("{{baseUrl}}/v1/courses/:courseId/announcements/:id")

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

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

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

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

response = conn.delete('/baseUrl/v1/courses/:courseId/announcements/:id') do |req|
end

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

#[tokio::main]
pub async fn main() {
    let url = "{{baseUrl}}/v1/courses/:courseId/announcements/:id";

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

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

    dbg!(results);
}
curl --request DELETE \
  --url {{baseUrl}}/v1/courses/:courseId/announcements/:id
http DELETE {{baseUrl}}/v1/courses/:courseId/announcements/:id
wget --quiet \
  --method DELETE \
  --output-document \
  - {{baseUrl}}/v1/courses/:courseId/announcements/:id
import Foundation

let request = NSMutableURLRequest(url: NSURL(string: "{{baseUrl}}/v1/courses/:courseId/announcements/:id")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "DELETE"

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 classroom.courses.announcements.get
{{baseUrl}}/v1/courses/:courseId/announcements/:id
QUERY PARAMS

courseId
id
Examples
REQUEST

CURL *hnd = curl_easy_init();

curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET");
curl_easy_setopt(hnd, CURLOPT_URL, "{{baseUrl}}/v1/courses/:courseId/announcements/:id");

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

(client/get "{{baseUrl}}/v1/courses/:courseId/announcements/:id")
require "http/client"

url = "{{baseUrl}}/v1/courses/:courseId/announcements/:id"

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

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

func main() {

	url := "{{baseUrl}}/v1/courses/:courseId/announcements/:id"

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

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

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

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

}
GET /baseUrl/v1/courses/:courseId/announcements/:id HTTP/1.1
Host: example.com

AsyncHttpClient client = new DefaultAsyncHttpClient();
client.prepare("GET", "{{baseUrl}}/v1/courses/:courseId/announcements/:id")
  .execute()
  .toCompletableFuture()
  .thenAccept(System.out::println)
  .join();

client.close();
HttpRequest request = HttpRequest.newBuilder()
    .uri(URI.create("{{baseUrl}}/v1/courses/:courseId/announcements/:id"))
    .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}}/v1/courses/:courseId/announcements/:id")
  .get()
  .build();

Response response = client.newCall(request).execute();
HttpResponse response = Unirest.get("{{baseUrl}}/v1/courses/:courseId/announcements/:id")
  .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}}/v1/courses/:courseId/announcements/:id');

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

const options = {
  method: 'GET',
  url: '{{baseUrl}}/v1/courses/:courseId/announcements/:id'
};

try {
  const { data } = await axios.request(options);
  console.log(data);
} catch (error) {
  console.error(error);
}
const url = '{{baseUrl}}/v1/courses/:courseId/announcements/:id';
const options = {method: 'GET'};

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

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

val request = Request.Builder()
  .url("{{baseUrl}}/v1/courses/:courseId/announcements/:id")
  .get()
  .build()

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

const options = {
  method: 'GET',
  hostname: 'example.com',
  port: null,
  path: '/baseUrl/v1/courses/:courseId/announcements/:id',
  headers: {}
};

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

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

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

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

const options = {
  method: 'GET',
  url: '{{baseUrl}}/v1/courses/:courseId/announcements/:id'
};

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

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

const req = unirest('GET', '{{baseUrl}}/v1/courses/:courseId/announcements/:id');

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}}/v1/courses/:courseId/announcements/:id'
};

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

const url = '{{baseUrl}}/v1/courses/:courseId/announcements/:id';
const options = {method: 'GET'};

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

NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"{{baseUrl}}/v1/courses/:courseId/announcements/:id"]
                                                       cachePolicy:NSURLRequestUseProtocolCachePolicy
                                                   timeoutInterval:10.0];
[request setHTTPMethod:@"GET"];

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

let uri = Uri.of_string "{{baseUrl}}/v1/courses/:courseId/announcements/:id" in

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

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

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
request('GET', '{{baseUrl}}/v1/courses/:courseId/announcements/:id');

echo $response->getBody();
setUrl('{{baseUrl}}/v1/courses/:courseId/announcements/:id');
$request->setMethod(HTTP_METH_GET);

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

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
setRequestUrl('{{baseUrl}}/v1/courses/:courseId/announcements/:id');
$request->setRequestMethod('GET');
$client->enqueue($request)->send();
$response = $client->getResponse();

echo $response->getBody();
$response = Invoke-WebRequest -Uri '{{baseUrl}}/v1/courses/:courseId/announcements/:id' -Method GET 
$response = Invoke-RestMethod -Uri '{{baseUrl}}/v1/courses/:courseId/announcements/:id' -Method GET 
import http.client

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

conn.request("GET", "/baseUrl/v1/courses/:courseId/announcements/:id")

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

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

url = "{{baseUrl}}/v1/courses/:courseId/announcements/:id"

response = requests.get(url)

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

url <- "{{baseUrl}}/v1/courses/:courseId/announcements/:id"

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

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

url = URI("{{baseUrl}}/v1/courses/:courseId/announcements/:id")

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

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

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

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

response = conn.get('/baseUrl/v1/courses/:courseId/announcements/:id') do |req|
end

puts response.status
puts response.body
use reqwest;

#[tokio::main]
pub async fn main() {
    let url = "{{baseUrl}}/v1/courses/:courseId/announcements/:id";

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

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

    dbg!(results);
}
curl --request GET \
  --url {{baseUrl}}/v1/courses/:courseId/announcements/:id
http GET {{baseUrl}}/v1/courses/:courseId/announcements/:id
wget --quiet \
  --method GET \
  --output-document \
  - {{baseUrl}}/v1/courses/:courseId/announcements/:id
import Foundation

let request = NSMutableURLRequest(url: NSURL(string: "{{baseUrl}}/v1/courses/:courseId/announcements/:id")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"

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

dataTask.resume()
GET classroom.courses.announcements.list
{{baseUrl}}/v1/courses/:courseId/announcements
QUERY PARAMS

courseId
Examples
REQUEST

CURL *hnd = curl_easy_init();

curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET");
curl_easy_setopt(hnd, CURLOPT_URL, "{{baseUrl}}/v1/courses/:courseId/announcements");

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

(client/get "{{baseUrl}}/v1/courses/:courseId/announcements")
require "http/client"

url = "{{baseUrl}}/v1/courses/:courseId/announcements"

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

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

func main() {

	url := "{{baseUrl}}/v1/courses/:courseId/announcements"

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

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

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

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

}
GET /baseUrl/v1/courses/:courseId/announcements HTTP/1.1
Host: example.com

AsyncHttpClient client = new DefaultAsyncHttpClient();
client.prepare("GET", "{{baseUrl}}/v1/courses/:courseId/announcements")
  .execute()
  .toCompletableFuture()
  .thenAccept(System.out::println)
  .join();

client.close();
HttpRequest request = HttpRequest.newBuilder()
    .uri(URI.create("{{baseUrl}}/v1/courses/:courseId/announcements"))
    .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}}/v1/courses/:courseId/announcements")
  .get()
  .build();

Response response = client.newCall(request).execute();
HttpResponse response = Unirest.get("{{baseUrl}}/v1/courses/:courseId/announcements")
  .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}}/v1/courses/:courseId/announcements');

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

const options = {
  method: 'GET',
  url: '{{baseUrl}}/v1/courses/:courseId/announcements'
};

try {
  const { data } = await axios.request(options);
  console.log(data);
} catch (error) {
  console.error(error);
}
const url = '{{baseUrl}}/v1/courses/:courseId/announcements';
const options = {method: 'GET'};

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

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

val request = Request.Builder()
  .url("{{baseUrl}}/v1/courses/:courseId/announcements")
  .get()
  .build()

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

const options = {
  method: 'GET',
  hostname: 'example.com',
  port: null,
  path: '/baseUrl/v1/courses/:courseId/announcements',
  headers: {}
};

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

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

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

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

const options = {
  method: 'GET',
  url: '{{baseUrl}}/v1/courses/:courseId/announcements'
};

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

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

const req = unirest('GET', '{{baseUrl}}/v1/courses/:courseId/announcements');

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}}/v1/courses/:courseId/announcements'
};

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

const url = '{{baseUrl}}/v1/courses/:courseId/announcements';
const options = {method: 'GET'};

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

NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"{{baseUrl}}/v1/courses/:courseId/announcements"]
                                                       cachePolicy:NSURLRequestUseProtocolCachePolicy
                                                   timeoutInterval:10.0];
[request setHTTPMethod:@"GET"];

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

let uri = Uri.of_string "{{baseUrl}}/v1/courses/:courseId/announcements" in

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

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

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
request('GET', '{{baseUrl}}/v1/courses/:courseId/announcements');

echo $response->getBody();
setUrl('{{baseUrl}}/v1/courses/:courseId/announcements');
$request->setMethod(HTTP_METH_GET);

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

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
setRequestUrl('{{baseUrl}}/v1/courses/:courseId/announcements');
$request->setRequestMethod('GET');
$client->enqueue($request)->send();
$response = $client->getResponse();

echo $response->getBody();
$response = Invoke-WebRequest -Uri '{{baseUrl}}/v1/courses/:courseId/announcements' -Method GET 
$response = Invoke-RestMethod -Uri '{{baseUrl}}/v1/courses/:courseId/announcements' -Method GET 
import http.client

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

conn.request("GET", "/baseUrl/v1/courses/:courseId/announcements")

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

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

url = "{{baseUrl}}/v1/courses/:courseId/announcements"

response = requests.get(url)

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

url <- "{{baseUrl}}/v1/courses/:courseId/announcements"

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

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

url = URI("{{baseUrl}}/v1/courses/:courseId/announcements")

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

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

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

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

response = conn.get('/baseUrl/v1/courses/:courseId/announcements') do |req|
end

puts response.status
puts response.body
use reqwest;

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

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

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

    dbg!(results);
}
curl --request GET \
  --url {{baseUrl}}/v1/courses/:courseId/announcements
http GET {{baseUrl}}/v1/courses/:courseId/announcements
wget --quiet \
  --method GET \
  --output-document \
  - {{baseUrl}}/v1/courses/:courseId/announcements
import Foundation

let request = NSMutableURLRequest(url: NSURL(string: "{{baseUrl}}/v1/courses/:courseId/announcements")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"

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

dataTask.resume()
POST classroom.courses.announcements.modifyAssignees
{{baseUrl}}/v1/courses/:courseId/announcements/:id:modifyAssignees
QUERY PARAMS

courseId
id
BODY json

{
  "assigneeMode": "",
  "modifyIndividualStudentsOptions": {
    "addStudentIds": [],
    "removeStudentIds": []
  }
}
Examples
REQUEST

CURL *hnd = curl_easy_init();

curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "POST");
curl_easy_setopt(hnd, CURLOPT_URL, "{{baseUrl}}/v1/courses/:courseId/announcements/:id:modifyAssignees");

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

curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\n  \"assigneeMode\": \"\",\n  \"modifyIndividualStudentsOptions\": {\n    \"addStudentIds\": [],\n    \"removeStudentIds\": []\n  }\n}");

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

(client/post "{{baseUrl}}/v1/courses/:courseId/announcements/:id:modifyAssignees" {:content-type :json
                                                                                                   :form-params {:assigneeMode ""
                                                                                                                 :modifyIndividualStudentsOptions {:addStudentIds []
                                                                                                                                                   :removeStudentIds []}}})
require "http/client"

url = "{{baseUrl}}/v1/courses/:courseId/announcements/:id:modifyAssignees"
headers = HTTP::Headers{
  "content-type" => "application/json"
}
reqBody = "{\n  \"assigneeMode\": \"\",\n  \"modifyIndividualStudentsOptions\": {\n    \"addStudentIds\": [],\n    \"removeStudentIds\": []\n  }\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}}/v1/courses/:courseId/announcements/:id:modifyAssignees"),
    Content = new StringContent("{\n  \"assigneeMode\": \"\",\n  \"modifyIndividualStudentsOptions\": {\n    \"addStudentIds\": [],\n    \"removeStudentIds\": []\n  }\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}}/v1/courses/:courseId/announcements/:id:modifyAssignees");
var request = new RestRequest("", Method.Post);
request.AddHeader("content-type", "application/json");
request.AddParameter("application/json", "{\n  \"assigneeMode\": \"\",\n  \"modifyIndividualStudentsOptions\": {\n    \"addStudentIds\": [],\n    \"removeStudentIds\": []\n  }\n}", ParameterType.RequestBody);
var response = client.Execute(request);
package main

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

func main() {

	url := "{{baseUrl}}/v1/courses/:courseId/announcements/:id:modifyAssignees"

	payload := strings.NewReader("{\n  \"assigneeMode\": \"\",\n  \"modifyIndividualStudentsOptions\": {\n    \"addStudentIds\": [],\n    \"removeStudentIds\": []\n  }\n}")

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

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

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

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

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

}
POST /baseUrl/v1/courses/:courseId/announcements/:id:modifyAssignees HTTP/1.1
Content-Type: application/json
Host: example.com
Content-Length: 120

{
  "assigneeMode": "",
  "modifyIndividualStudentsOptions": {
    "addStudentIds": [],
    "removeStudentIds": []
  }
}
AsyncHttpClient client = new DefaultAsyncHttpClient();
client.prepare("POST", "{{baseUrl}}/v1/courses/:courseId/announcements/:id:modifyAssignees")
  .setHeader("content-type", "application/json")
  .setBody("{\n  \"assigneeMode\": \"\",\n  \"modifyIndividualStudentsOptions\": {\n    \"addStudentIds\": [],\n    \"removeStudentIds\": []\n  }\n}")
  .execute()
  .toCompletableFuture()
  .thenAccept(System.out::println)
  .join();

client.close();
HttpRequest request = HttpRequest.newBuilder()
    .uri(URI.create("{{baseUrl}}/v1/courses/:courseId/announcements/:id:modifyAssignees"))
    .header("content-type", "application/json")
    .method("POST", HttpRequest.BodyPublishers.ofString("{\n  \"assigneeMode\": \"\",\n  \"modifyIndividualStudentsOptions\": {\n    \"addStudentIds\": [],\n    \"removeStudentIds\": []\n  }\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  \"assigneeMode\": \"\",\n  \"modifyIndividualStudentsOptions\": {\n    \"addStudentIds\": [],\n    \"removeStudentIds\": []\n  }\n}");
Request request = new Request.Builder()
  .url("{{baseUrl}}/v1/courses/:courseId/announcements/:id:modifyAssignees")
  .post(body)
  .addHeader("content-type", "application/json")
  .build();

Response response = client.newCall(request).execute();
HttpResponse response = Unirest.post("{{baseUrl}}/v1/courses/:courseId/announcements/:id:modifyAssignees")
  .header("content-type", "application/json")
  .body("{\n  \"assigneeMode\": \"\",\n  \"modifyIndividualStudentsOptions\": {\n    \"addStudentIds\": [],\n    \"removeStudentIds\": []\n  }\n}")
  .asString();
const data = JSON.stringify({
  assigneeMode: '',
  modifyIndividualStudentsOptions: {
    addStudentIds: [],
    removeStudentIds: []
  }
});

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

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

xhr.open('POST', '{{baseUrl}}/v1/courses/:courseId/announcements/:id:modifyAssignees');
xhr.setRequestHeader('content-type', 'application/json');

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

const options = {
  method: 'POST',
  url: '{{baseUrl}}/v1/courses/:courseId/announcements/:id:modifyAssignees',
  headers: {'content-type': 'application/json'},
  data: {
    assigneeMode: '',
    modifyIndividualStudentsOptions: {addStudentIds: [], removeStudentIds: []}
  }
};

try {
  const { data } = await axios.request(options);
  console.log(data);
} catch (error) {
  console.error(error);
}
const url = '{{baseUrl}}/v1/courses/:courseId/announcements/:id:modifyAssignees';
const options = {
  method: 'POST',
  headers: {'content-type': 'application/json'},
  body: '{"assigneeMode":"","modifyIndividualStudentsOptions":{"addStudentIds":[],"removeStudentIds":[]}}'
};

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}}/v1/courses/:courseId/announcements/:id:modifyAssignees',
  method: 'POST',
  headers: {
    'content-type': 'application/json'
  },
  processData: false,
  data: '{\n  "assigneeMode": "",\n  "modifyIndividualStudentsOptions": {\n    "addStudentIds": [],\n    "removeStudentIds": []\n  }\n}'
};

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

val mediaType = MediaType.parse("application/json")
val body = RequestBody.create(mediaType, "{\n  \"assigneeMode\": \"\",\n  \"modifyIndividualStudentsOptions\": {\n    \"addStudentIds\": [],\n    \"removeStudentIds\": []\n  }\n}")
val request = Request.Builder()
  .url("{{baseUrl}}/v1/courses/:courseId/announcements/:id:modifyAssignees")
  .post(body)
  .addHeader("content-type", "application/json")
  .build()

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

const options = {
  method: 'POST',
  hostname: 'example.com',
  port: null,
  path: '/baseUrl/v1/courses/:courseId/announcements/:id:modifyAssignees',
  headers: {
    'content-type': 'application/json'
  }
};

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

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

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

req.write(JSON.stringify({
  assigneeMode: '',
  modifyIndividualStudentsOptions: {addStudentIds: [], removeStudentIds: []}
}));
req.end();
const request = require('request');

const options = {
  method: 'POST',
  url: '{{baseUrl}}/v1/courses/:courseId/announcements/:id:modifyAssignees',
  headers: {'content-type': 'application/json'},
  body: {
    assigneeMode: '',
    modifyIndividualStudentsOptions: {addStudentIds: [], removeStudentIds: []}
  },
  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}}/v1/courses/:courseId/announcements/:id:modifyAssignees');

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

req.type('json');
req.send({
  assigneeMode: '',
  modifyIndividualStudentsOptions: {
    addStudentIds: [],
    removeStudentIds: []
  }
});

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}}/v1/courses/:courseId/announcements/:id:modifyAssignees',
  headers: {'content-type': 'application/json'},
  data: {
    assigneeMode: '',
    modifyIndividualStudentsOptions: {addStudentIds: [], removeStudentIds: []}
  }
};

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

const url = '{{baseUrl}}/v1/courses/:courseId/announcements/:id:modifyAssignees';
const options = {
  method: 'POST',
  headers: {'content-type': 'application/json'},
  body: '{"assigneeMode":"","modifyIndividualStudentsOptions":{"addStudentIds":[],"removeStudentIds":[]}}'
};

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

NSDictionary *headers = @{ @"content-type": @"application/json" };
NSDictionary *parameters = @{ @"assigneeMode": @"",
                              @"modifyIndividualStudentsOptions": @{ @"addStudentIds": @[  ], @"removeStudentIds": @[  ] } };

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

NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"{{baseUrl}}/v1/courses/:courseId/announcements/:id:modifyAssignees"]
                                                       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}}/v1/courses/:courseId/announcements/:id:modifyAssignees" in
let headers = Header.add (Header.init ()) "content-type" "application/json" in
let body = Cohttp_lwt_body.of_string "{\n  \"assigneeMode\": \"\",\n  \"modifyIndividualStudentsOptions\": {\n    \"addStudentIds\": [],\n    \"removeStudentIds\": []\n  }\n}" in

Client.call ~headers ~body `POST uri
>>= fun (res, body_stream) ->
  (* Do stuff with the result *)
 "{{baseUrl}}/v1/courses/:courseId/announcements/:id:modifyAssignees",
  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([
    'assigneeMode' => '',
    'modifyIndividualStudentsOptions' => [
        'addStudentIds' => [
                
        ],
        'removeStudentIds' => [
                
        ]
    ]
  ]),
  CURLOPT_HTTPHEADER => [
    "content-type: application/json"
  ],
]);

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

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
request('POST', '{{baseUrl}}/v1/courses/:courseId/announcements/:id:modifyAssignees', [
  'body' => '{
  "assigneeMode": "",
  "modifyIndividualStudentsOptions": {
    "addStudentIds": [],
    "removeStudentIds": []
  }
}',
  'headers' => [
    'content-type' => 'application/json',
  ],
]);

echo $response->getBody();
setUrl('{{baseUrl}}/v1/courses/:courseId/announcements/:id:modifyAssignees');
$request->setMethod(HTTP_METH_POST);

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

$request->setContentType('application/json');
$request->setBody(json_encode([
  'assigneeMode' => '',
  'modifyIndividualStudentsOptions' => [
    'addStudentIds' => [
        
    ],
    'removeStudentIds' => [
        
    ]
  ]
]));

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

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
append(json_encode([
  'assigneeMode' => '',
  'modifyIndividualStudentsOptions' => [
    'addStudentIds' => [
        
    ],
    'removeStudentIds' => [
        
    ]
  ]
]));
$request->setRequestUrl('{{baseUrl}}/v1/courses/:courseId/announcements/:id:modifyAssignees');
$request->setRequestMethod('POST');
$request->setBody($body);

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

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

echo $response->getBody();
$headers=@{}
$headers.Add("content-type", "application/json")
$response = Invoke-WebRequest -Uri '{{baseUrl}}/v1/courses/:courseId/announcements/:id:modifyAssignees' -Method POST -Headers $headers -ContentType 'application/json' -Body '{
  "assigneeMode": "",
  "modifyIndividualStudentsOptions": {
    "addStudentIds": [],
    "removeStudentIds": []
  }
}'
$headers=@{}
$headers.Add("content-type", "application/json")
$response = Invoke-RestMethod -Uri '{{baseUrl}}/v1/courses/:courseId/announcements/:id:modifyAssignees' -Method POST -Headers $headers -ContentType 'application/json' -Body '{
  "assigneeMode": "",
  "modifyIndividualStudentsOptions": {
    "addStudentIds": [],
    "removeStudentIds": []
  }
}'
import http.client

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

payload = "{\n  \"assigneeMode\": \"\",\n  \"modifyIndividualStudentsOptions\": {\n    \"addStudentIds\": [],\n    \"removeStudentIds\": []\n  }\n}"

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

conn.request("POST", "/baseUrl/v1/courses/:courseId/announcements/:id:modifyAssignees", payload, headers)

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

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

url = "{{baseUrl}}/v1/courses/:courseId/announcements/:id:modifyAssignees"

payload = {
    "assigneeMode": "",
    "modifyIndividualStudentsOptions": {
        "addStudentIds": [],
        "removeStudentIds": []
    }
}
headers = {"content-type": "application/json"}

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

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

url <- "{{baseUrl}}/v1/courses/:courseId/announcements/:id:modifyAssignees"

payload <- "{\n  \"assigneeMode\": \"\",\n  \"modifyIndividualStudentsOptions\": {\n    \"addStudentIds\": [],\n    \"removeStudentIds\": []\n  }\n}"

encode <- "json"

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

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

url = URI("{{baseUrl}}/v1/courses/:courseId/announcements/:id:modifyAssignees")

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

request = Net::HTTP::Post.new(url)
request["content-type"] = 'application/json'
request.body = "{\n  \"assigneeMode\": \"\",\n  \"modifyIndividualStudentsOptions\": {\n    \"addStudentIds\": [],\n    \"removeStudentIds\": []\n  }\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/v1/courses/:courseId/announcements/:id:modifyAssignees') do |req|
  req.body = "{\n  \"assigneeMode\": \"\",\n  \"modifyIndividualStudentsOptions\": {\n    \"addStudentIds\": [],\n    \"removeStudentIds\": []\n  }\n}"
end

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

#[tokio::main]
pub async fn main() {
    let url = "{{baseUrl}}/v1/courses/:courseId/announcements/:id:modifyAssignees";

    let payload = json!({
        "assigneeMode": "",
        "modifyIndividualStudentsOptions": json!({
            "addStudentIds": (),
            "removeStudentIds": ()
        })
    });

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

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

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

    dbg!(results);
}
curl --request POST \
  --url {{baseUrl}}/v1/courses/:courseId/announcements/:id:modifyAssignees \
  --header 'content-type: application/json' \
  --data '{
  "assigneeMode": "",
  "modifyIndividualStudentsOptions": {
    "addStudentIds": [],
    "removeStudentIds": []
  }
}'
echo '{
  "assigneeMode": "",
  "modifyIndividualStudentsOptions": {
    "addStudentIds": [],
    "removeStudentIds": []
  }
}' |  \
  http POST {{baseUrl}}/v1/courses/:courseId/announcements/:id:modifyAssignees \
  content-type:application/json
wget --quiet \
  --method POST \
  --header 'content-type: application/json' \
  --body-data '{\n  "assigneeMode": "",\n  "modifyIndividualStudentsOptions": {\n    "addStudentIds": [],\n    "removeStudentIds": []\n  }\n}' \
  --output-document \
  - {{baseUrl}}/v1/courses/:courseId/announcements/:id:modifyAssignees
import Foundation

let headers = ["content-type": "application/json"]
let parameters = [
  "assigneeMode": "",
  "modifyIndividualStudentsOptions": [
    "addStudentIds": [],
    "removeStudentIds": []
  ]
] as [String : Any]

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

let request = NSMutableURLRequest(url: NSURL(string: "{{baseUrl}}/v1/courses/:courseId/announcements/:id:modifyAssignees")! 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()
PATCH classroom.courses.announcements.patch
{{baseUrl}}/v1/courses/:courseId/announcements/:id
QUERY PARAMS

courseId
id
BODY json

{
  "alternateLink": "",
  "assigneeMode": "",
  "courseId": "",
  "creationTime": "",
  "creatorUserId": "",
  "id": "",
  "individualStudentsOptions": {
    "studentIds": []
  },
  "materials": [
    {
      "driveFile": {
        "driveFile": {
          "alternateLink": "",
          "id": "",
          "thumbnailUrl": "",
          "title": ""
        },
        "shareMode": ""
      },
      "form": {
        "formUrl": "",
        "responseUrl": "",
        "thumbnailUrl": "",
        "title": ""
      },
      "link": {
        "thumbnailUrl": "",
        "title": "",
        "url": ""
      },
      "youtubeVideo": {
        "alternateLink": "",
        "id": "",
        "thumbnailUrl": "",
        "title": ""
      }
    }
  ],
  "scheduledTime": "",
  "state": "",
  "text": "",
  "updateTime": ""
}
Examples
REQUEST

CURL *hnd = curl_easy_init();

curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "PATCH");
curl_easy_setopt(hnd, CURLOPT_URL, "{{baseUrl}}/v1/courses/:courseId/announcements/:id");

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

curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\n  \"alternateLink\": \"\",\n  \"assigneeMode\": \"\",\n  \"courseId\": \"\",\n  \"creationTime\": \"\",\n  \"creatorUserId\": \"\",\n  \"id\": \"\",\n  \"individualStudentsOptions\": {\n    \"studentIds\": []\n  },\n  \"materials\": [\n    {\n      \"driveFile\": {\n        \"driveFile\": {\n          \"alternateLink\": \"\",\n          \"id\": \"\",\n          \"thumbnailUrl\": \"\",\n          \"title\": \"\"\n        },\n        \"shareMode\": \"\"\n      },\n      \"form\": {\n        \"formUrl\": \"\",\n        \"responseUrl\": \"\",\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\"\n      },\n      \"link\": {\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\",\n        \"url\": \"\"\n      },\n      \"youtubeVideo\": {\n        \"alternateLink\": \"\",\n        \"id\": \"\",\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\"\n      }\n    }\n  ],\n  \"scheduledTime\": \"\",\n  \"state\": \"\",\n  \"text\": \"\",\n  \"updateTime\": \"\"\n}");

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

(client/patch "{{baseUrl}}/v1/courses/:courseId/announcements/:id" {:content-type :json
                                                                                    :form-params {:alternateLink ""
                                                                                                  :assigneeMode ""
                                                                                                  :courseId ""
                                                                                                  :creationTime ""
                                                                                                  :creatorUserId ""
                                                                                                  :id ""
                                                                                                  :individualStudentsOptions {:studentIds []}
                                                                                                  :materials [{:driveFile {:driveFile {:alternateLink ""
                                                                                                                                       :id ""
                                                                                                                                       :thumbnailUrl ""
                                                                                                                                       :title ""}
                                                                                                                           :shareMode ""}
                                                                                                               :form {:formUrl ""
                                                                                                                      :responseUrl ""
                                                                                                                      :thumbnailUrl ""
                                                                                                                      :title ""}
                                                                                                               :link {:thumbnailUrl ""
                                                                                                                      :title ""
                                                                                                                      :url ""}
                                                                                                               :youtubeVideo {:alternateLink ""
                                                                                                                              :id ""
                                                                                                                              :thumbnailUrl ""
                                                                                                                              :title ""}}]
                                                                                                  :scheduledTime ""
                                                                                                  :state ""
                                                                                                  :text ""
                                                                                                  :updateTime ""}})
require "http/client"

url = "{{baseUrl}}/v1/courses/:courseId/announcements/:id"
headers = HTTP::Headers{
  "content-type" => "application/json"
}
reqBody = "{\n  \"alternateLink\": \"\",\n  \"assigneeMode\": \"\",\n  \"courseId\": \"\",\n  \"creationTime\": \"\",\n  \"creatorUserId\": \"\",\n  \"id\": \"\",\n  \"individualStudentsOptions\": {\n    \"studentIds\": []\n  },\n  \"materials\": [\n    {\n      \"driveFile\": {\n        \"driveFile\": {\n          \"alternateLink\": \"\",\n          \"id\": \"\",\n          \"thumbnailUrl\": \"\",\n          \"title\": \"\"\n        },\n        \"shareMode\": \"\"\n      },\n      \"form\": {\n        \"formUrl\": \"\",\n        \"responseUrl\": \"\",\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\"\n      },\n      \"link\": {\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\",\n        \"url\": \"\"\n      },\n      \"youtubeVideo\": {\n        \"alternateLink\": \"\",\n        \"id\": \"\",\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\"\n      }\n    }\n  ],\n  \"scheduledTime\": \"\",\n  \"state\": \"\",\n  \"text\": \"\",\n  \"updateTime\": \"\"\n}"

response = HTTP::Client.patch url, headers: headers, body: reqBody
puts response.body
using System.Net.Http.Headers;
var client = new HttpClient();
var request = new HttpRequestMessage
{
    Method = HttpMethod.Patch,
    RequestUri = new Uri("{{baseUrl}}/v1/courses/:courseId/announcements/:id"),
    Content = new StringContent("{\n  \"alternateLink\": \"\",\n  \"assigneeMode\": \"\",\n  \"courseId\": \"\",\n  \"creationTime\": \"\",\n  \"creatorUserId\": \"\",\n  \"id\": \"\",\n  \"individualStudentsOptions\": {\n    \"studentIds\": []\n  },\n  \"materials\": [\n    {\n      \"driveFile\": {\n        \"driveFile\": {\n          \"alternateLink\": \"\",\n          \"id\": \"\",\n          \"thumbnailUrl\": \"\",\n          \"title\": \"\"\n        },\n        \"shareMode\": \"\"\n      },\n      \"form\": {\n        \"formUrl\": \"\",\n        \"responseUrl\": \"\",\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\"\n      },\n      \"link\": {\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\",\n        \"url\": \"\"\n      },\n      \"youtubeVideo\": {\n        \"alternateLink\": \"\",\n        \"id\": \"\",\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\"\n      }\n    }\n  ],\n  \"scheduledTime\": \"\",\n  \"state\": \"\",\n  \"text\": \"\",\n  \"updateTime\": \"\"\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}}/v1/courses/:courseId/announcements/:id");
var request = new RestRequest("", Method.Patch);
request.AddHeader("content-type", "application/json");
request.AddParameter("application/json", "{\n  \"alternateLink\": \"\",\n  \"assigneeMode\": \"\",\n  \"courseId\": \"\",\n  \"creationTime\": \"\",\n  \"creatorUserId\": \"\",\n  \"id\": \"\",\n  \"individualStudentsOptions\": {\n    \"studentIds\": []\n  },\n  \"materials\": [\n    {\n      \"driveFile\": {\n        \"driveFile\": {\n          \"alternateLink\": \"\",\n          \"id\": \"\",\n          \"thumbnailUrl\": \"\",\n          \"title\": \"\"\n        },\n        \"shareMode\": \"\"\n      },\n      \"form\": {\n        \"formUrl\": \"\",\n        \"responseUrl\": \"\",\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\"\n      },\n      \"link\": {\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\",\n        \"url\": \"\"\n      },\n      \"youtubeVideo\": {\n        \"alternateLink\": \"\",\n        \"id\": \"\",\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\"\n      }\n    }\n  ],\n  \"scheduledTime\": \"\",\n  \"state\": \"\",\n  \"text\": \"\",\n  \"updateTime\": \"\"\n}", ParameterType.RequestBody);
var response = client.Execute(request);
package main

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

func main() {

	url := "{{baseUrl}}/v1/courses/:courseId/announcements/:id"

	payload := strings.NewReader("{\n  \"alternateLink\": \"\",\n  \"assigneeMode\": \"\",\n  \"courseId\": \"\",\n  \"creationTime\": \"\",\n  \"creatorUserId\": \"\",\n  \"id\": \"\",\n  \"individualStudentsOptions\": {\n    \"studentIds\": []\n  },\n  \"materials\": [\n    {\n      \"driveFile\": {\n        \"driveFile\": {\n          \"alternateLink\": \"\",\n          \"id\": \"\",\n          \"thumbnailUrl\": \"\",\n          \"title\": \"\"\n        },\n        \"shareMode\": \"\"\n      },\n      \"form\": {\n        \"formUrl\": \"\",\n        \"responseUrl\": \"\",\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\"\n      },\n      \"link\": {\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\",\n        \"url\": \"\"\n      },\n      \"youtubeVideo\": {\n        \"alternateLink\": \"\",\n        \"id\": \"\",\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\"\n      }\n    }\n  ],\n  \"scheduledTime\": \"\",\n  \"state\": \"\",\n  \"text\": \"\",\n  \"updateTime\": \"\"\n}")

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

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

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

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

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

}
PATCH /baseUrl/v1/courses/:courseId/announcements/:id HTTP/1.1
Content-Type: application/json
Host: example.com
Content-Length: 820

{
  "alternateLink": "",
  "assigneeMode": "",
  "courseId": "",
  "creationTime": "",
  "creatorUserId": "",
  "id": "",
  "individualStudentsOptions": {
    "studentIds": []
  },
  "materials": [
    {
      "driveFile": {
        "driveFile": {
          "alternateLink": "",
          "id": "",
          "thumbnailUrl": "",
          "title": ""
        },
        "shareMode": ""
      },
      "form": {
        "formUrl": "",
        "responseUrl": "",
        "thumbnailUrl": "",
        "title": ""
      },
      "link": {
        "thumbnailUrl": "",
        "title": "",
        "url": ""
      },
      "youtubeVideo": {
        "alternateLink": "",
        "id": "",
        "thumbnailUrl": "",
        "title": ""
      }
    }
  ],
  "scheduledTime": "",
  "state": "",
  "text": "",
  "updateTime": ""
}
AsyncHttpClient client = new DefaultAsyncHttpClient();
client.prepare("PATCH", "{{baseUrl}}/v1/courses/:courseId/announcements/:id")
  .setHeader("content-type", "application/json")
  .setBody("{\n  \"alternateLink\": \"\",\n  \"assigneeMode\": \"\",\n  \"courseId\": \"\",\n  \"creationTime\": \"\",\n  \"creatorUserId\": \"\",\n  \"id\": \"\",\n  \"individualStudentsOptions\": {\n    \"studentIds\": []\n  },\n  \"materials\": [\n    {\n      \"driveFile\": {\n        \"driveFile\": {\n          \"alternateLink\": \"\",\n          \"id\": \"\",\n          \"thumbnailUrl\": \"\",\n          \"title\": \"\"\n        },\n        \"shareMode\": \"\"\n      },\n      \"form\": {\n        \"formUrl\": \"\",\n        \"responseUrl\": \"\",\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\"\n      },\n      \"link\": {\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\",\n        \"url\": \"\"\n      },\n      \"youtubeVideo\": {\n        \"alternateLink\": \"\",\n        \"id\": \"\",\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\"\n      }\n    }\n  ],\n  \"scheduledTime\": \"\",\n  \"state\": \"\",\n  \"text\": \"\",\n  \"updateTime\": \"\"\n}")
  .execute()
  .toCompletableFuture()
  .thenAccept(System.out::println)
  .join();

client.close();
HttpRequest request = HttpRequest.newBuilder()
    .uri(URI.create("{{baseUrl}}/v1/courses/:courseId/announcements/:id"))
    .header("content-type", "application/json")
    .method("PATCH", HttpRequest.BodyPublishers.ofString("{\n  \"alternateLink\": \"\",\n  \"assigneeMode\": \"\",\n  \"courseId\": \"\",\n  \"creationTime\": \"\",\n  \"creatorUserId\": \"\",\n  \"id\": \"\",\n  \"individualStudentsOptions\": {\n    \"studentIds\": []\n  },\n  \"materials\": [\n    {\n      \"driveFile\": {\n        \"driveFile\": {\n          \"alternateLink\": \"\",\n          \"id\": \"\",\n          \"thumbnailUrl\": \"\",\n          \"title\": \"\"\n        },\n        \"shareMode\": \"\"\n      },\n      \"form\": {\n        \"formUrl\": \"\",\n        \"responseUrl\": \"\",\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\"\n      },\n      \"link\": {\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\",\n        \"url\": \"\"\n      },\n      \"youtubeVideo\": {\n        \"alternateLink\": \"\",\n        \"id\": \"\",\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\"\n      }\n    }\n  ],\n  \"scheduledTime\": \"\",\n  \"state\": \"\",\n  \"text\": \"\",\n  \"updateTime\": \"\"\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  \"alternateLink\": \"\",\n  \"assigneeMode\": \"\",\n  \"courseId\": \"\",\n  \"creationTime\": \"\",\n  \"creatorUserId\": \"\",\n  \"id\": \"\",\n  \"individualStudentsOptions\": {\n    \"studentIds\": []\n  },\n  \"materials\": [\n    {\n      \"driveFile\": {\n        \"driveFile\": {\n          \"alternateLink\": \"\",\n          \"id\": \"\",\n          \"thumbnailUrl\": \"\",\n          \"title\": \"\"\n        },\n        \"shareMode\": \"\"\n      },\n      \"form\": {\n        \"formUrl\": \"\",\n        \"responseUrl\": \"\",\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\"\n      },\n      \"link\": {\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\",\n        \"url\": \"\"\n      },\n      \"youtubeVideo\": {\n        \"alternateLink\": \"\",\n        \"id\": \"\",\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\"\n      }\n    }\n  ],\n  \"scheduledTime\": \"\",\n  \"state\": \"\",\n  \"text\": \"\",\n  \"updateTime\": \"\"\n}");
Request request = new Request.Builder()
  .url("{{baseUrl}}/v1/courses/:courseId/announcements/:id")
  .patch(body)
  .addHeader("content-type", "application/json")
  .build();

Response response = client.newCall(request).execute();
HttpResponse response = Unirest.patch("{{baseUrl}}/v1/courses/:courseId/announcements/:id")
  .header("content-type", "application/json")
  .body("{\n  \"alternateLink\": \"\",\n  \"assigneeMode\": \"\",\n  \"courseId\": \"\",\n  \"creationTime\": \"\",\n  \"creatorUserId\": \"\",\n  \"id\": \"\",\n  \"individualStudentsOptions\": {\n    \"studentIds\": []\n  },\n  \"materials\": [\n    {\n      \"driveFile\": {\n        \"driveFile\": {\n          \"alternateLink\": \"\",\n          \"id\": \"\",\n          \"thumbnailUrl\": \"\",\n          \"title\": \"\"\n        },\n        \"shareMode\": \"\"\n      },\n      \"form\": {\n        \"formUrl\": \"\",\n        \"responseUrl\": \"\",\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\"\n      },\n      \"link\": {\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\",\n        \"url\": \"\"\n      },\n      \"youtubeVideo\": {\n        \"alternateLink\": \"\",\n        \"id\": \"\",\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\"\n      }\n    }\n  ],\n  \"scheduledTime\": \"\",\n  \"state\": \"\",\n  \"text\": \"\",\n  \"updateTime\": \"\"\n}")
  .asString();
const data = JSON.stringify({
  alternateLink: '',
  assigneeMode: '',
  courseId: '',
  creationTime: '',
  creatorUserId: '',
  id: '',
  individualStudentsOptions: {
    studentIds: []
  },
  materials: [
    {
      driveFile: {
        driveFile: {
          alternateLink: '',
          id: '',
          thumbnailUrl: '',
          title: ''
        },
        shareMode: ''
      },
      form: {
        formUrl: '',
        responseUrl: '',
        thumbnailUrl: '',
        title: ''
      },
      link: {
        thumbnailUrl: '',
        title: '',
        url: ''
      },
      youtubeVideo: {
        alternateLink: '',
        id: '',
        thumbnailUrl: '',
        title: ''
      }
    }
  ],
  scheduledTime: '',
  state: '',
  text: '',
  updateTime: ''
});

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

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

xhr.open('PATCH', '{{baseUrl}}/v1/courses/:courseId/announcements/:id');
xhr.setRequestHeader('content-type', 'application/json');

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

const options = {
  method: 'PATCH',
  url: '{{baseUrl}}/v1/courses/:courseId/announcements/:id',
  headers: {'content-type': 'application/json'},
  data: {
    alternateLink: '',
    assigneeMode: '',
    courseId: '',
    creationTime: '',
    creatorUserId: '',
    id: '',
    individualStudentsOptions: {studentIds: []},
    materials: [
      {
        driveFile: {
          driveFile: {alternateLink: '', id: '', thumbnailUrl: '', title: ''},
          shareMode: ''
        },
        form: {formUrl: '', responseUrl: '', thumbnailUrl: '', title: ''},
        link: {thumbnailUrl: '', title: '', url: ''},
        youtubeVideo: {alternateLink: '', id: '', thumbnailUrl: '', title: ''}
      }
    ],
    scheduledTime: '',
    state: '',
    text: '',
    updateTime: ''
  }
};

try {
  const { data } = await axios.request(options);
  console.log(data);
} catch (error) {
  console.error(error);
}
const url = '{{baseUrl}}/v1/courses/:courseId/announcements/:id';
const options = {
  method: 'PATCH',
  headers: {'content-type': 'application/json'},
  body: '{"alternateLink":"","assigneeMode":"","courseId":"","creationTime":"","creatorUserId":"","id":"","individualStudentsOptions":{"studentIds":[]},"materials":[{"driveFile":{"driveFile":{"alternateLink":"","id":"","thumbnailUrl":"","title":""},"shareMode":""},"form":{"formUrl":"","responseUrl":"","thumbnailUrl":"","title":""},"link":{"thumbnailUrl":"","title":"","url":""},"youtubeVideo":{"alternateLink":"","id":"","thumbnailUrl":"","title":""}}],"scheduledTime":"","state":"","text":"","updateTime":""}'
};

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}}/v1/courses/:courseId/announcements/:id',
  method: 'PATCH',
  headers: {
    'content-type': 'application/json'
  },
  processData: false,
  data: '{\n  "alternateLink": "",\n  "assigneeMode": "",\n  "courseId": "",\n  "creationTime": "",\n  "creatorUserId": "",\n  "id": "",\n  "individualStudentsOptions": {\n    "studentIds": []\n  },\n  "materials": [\n    {\n      "driveFile": {\n        "driveFile": {\n          "alternateLink": "",\n          "id": "",\n          "thumbnailUrl": "",\n          "title": ""\n        },\n        "shareMode": ""\n      },\n      "form": {\n        "formUrl": "",\n        "responseUrl": "",\n        "thumbnailUrl": "",\n        "title": ""\n      },\n      "link": {\n        "thumbnailUrl": "",\n        "title": "",\n        "url": ""\n      },\n      "youtubeVideo": {\n        "alternateLink": "",\n        "id": "",\n        "thumbnailUrl": "",\n        "title": ""\n      }\n    }\n  ],\n  "scheduledTime": "",\n  "state": "",\n  "text": "",\n  "updateTime": ""\n}'
};

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

val mediaType = MediaType.parse("application/json")
val body = RequestBody.create(mediaType, "{\n  \"alternateLink\": \"\",\n  \"assigneeMode\": \"\",\n  \"courseId\": \"\",\n  \"creationTime\": \"\",\n  \"creatorUserId\": \"\",\n  \"id\": \"\",\n  \"individualStudentsOptions\": {\n    \"studentIds\": []\n  },\n  \"materials\": [\n    {\n      \"driveFile\": {\n        \"driveFile\": {\n          \"alternateLink\": \"\",\n          \"id\": \"\",\n          \"thumbnailUrl\": \"\",\n          \"title\": \"\"\n        },\n        \"shareMode\": \"\"\n      },\n      \"form\": {\n        \"formUrl\": \"\",\n        \"responseUrl\": \"\",\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\"\n      },\n      \"link\": {\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\",\n        \"url\": \"\"\n      },\n      \"youtubeVideo\": {\n        \"alternateLink\": \"\",\n        \"id\": \"\",\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\"\n      }\n    }\n  ],\n  \"scheduledTime\": \"\",\n  \"state\": \"\",\n  \"text\": \"\",\n  \"updateTime\": \"\"\n}")
val request = Request.Builder()
  .url("{{baseUrl}}/v1/courses/:courseId/announcements/:id")
  .patch(body)
  .addHeader("content-type", "application/json")
  .build()

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

const options = {
  method: 'PATCH',
  hostname: 'example.com',
  port: null,
  path: '/baseUrl/v1/courses/:courseId/announcements/:id',
  headers: {
    'content-type': 'application/json'
  }
};

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

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

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

req.write(JSON.stringify({
  alternateLink: '',
  assigneeMode: '',
  courseId: '',
  creationTime: '',
  creatorUserId: '',
  id: '',
  individualStudentsOptions: {studentIds: []},
  materials: [
    {
      driveFile: {
        driveFile: {alternateLink: '', id: '', thumbnailUrl: '', title: ''},
        shareMode: ''
      },
      form: {formUrl: '', responseUrl: '', thumbnailUrl: '', title: ''},
      link: {thumbnailUrl: '', title: '', url: ''},
      youtubeVideo: {alternateLink: '', id: '', thumbnailUrl: '', title: ''}
    }
  ],
  scheduledTime: '',
  state: '',
  text: '',
  updateTime: ''
}));
req.end();
const request = require('request');

const options = {
  method: 'PATCH',
  url: '{{baseUrl}}/v1/courses/:courseId/announcements/:id',
  headers: {'content-type': 'application/json'},
  body: {
    alternateLink: '',
    assigneeMode: '',
    courseId: '',
    creationTime: '',
    creatorUserId: '',
    id: '',
    individualStudentsOptions: {studentIds: []},
    materials: [
      {
        driveFile: {
          driveFile: {alternateLink: '', id: '', thumbnailUrl: '', title: ''},
          shareMode: ''
        },
        form: {formUrl: '', responseUrl: '', thumbnailUrl: '', title: ''},
        link: {thumbnailUrl: '', title: '', url: ''},
        youtubeVideo: {alternateLink: '', id: '', thumbnailUrl: '', title: ''}
      }
    ],
    scheduledTime: '',
    state: '',
    text: '',
    updateTime: ''
  },
  json: true
};

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

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

const req = unirest('PATCH', '{{baseUrl}}/v1/courses/:courseId/announcements/:id');

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

req.type('json');
req.send({
  alternateLink: '',
  assigneeMode: '',
  courseId: '',
  creationTime: '',
  creatorUserId: '',
  id: '',
  individualStudentsOptions: {
    studentIds: []
  },
  materials: [
    {
      driveFile: {
        driveFile: {
          alternateLink: '',
          id: '',
          thumbnailUrl: '',
          title: ''
        },
        shareMode: ''
      },
      form: {
        formUrl: '',
        responseUrl: '',
        thumbnailUrl: '',
        title: ''
      },
      link: {
        thumbnailUrl: '',
        title: '',
        url: ''
      },
      youtubeVideo: {
        alternateLink: '',
        id: '',
        thumbnailUrl: '',
        title: ''
      }
    }
  ],
  scheduledTime: '',
  state: '',
  text: '',
  updateTime: ''
});

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

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

const options = {
  method: 'PATCH',
  url: '{{baseUrl}}/v1/courses/:courseId/announcements/:id',
  headers: {'content-type': 'application/json'},
  data: {
    alternateLink: '',
    assigneeMode: '',
    courseId: '',
    creationTime: '',
    creatorUserId: '',
    id: '',
    individualStudentsOptions: {studentIds: []},
    materials: [
      {
        driveFile: {
          driveFile: {alternateLink: '', id: '', thumbnailUrl: '', title: ''},
          shareMode: ''
        },
        form: {formUrl: '', responseUrl: '', thumbnailUrl: '', title: ''},
        link: {thumbnailUrl: '', title: '', url: ''},
        youtubeVideo: {alternateLink: '', id: '', thumbnailUrl: '', title: ''}
      }
    ],
    scheduledTime: '',
    state: '',
    text: '',
    updateTime: ''
  }
};

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

const url = '{{baseUrl}}/v1/courses/:courseId/announcements/:id';
const options = {
  method: 'PATCH',
  headers: {'content-type': 'application/json'},
  body: '{"alternateLink":"","assigneeMode":"","courseId":"","creationTime":"","creatorUserId":"","id":"","individualStudentsOptions":{"studentIds":[]},"materials":[{"driveFile":{"driveFile":{"alternateLink":"","id":"","thumbnailUrl":"","title":""},"shareMode":""},"form":{"formUrl":"","responseUrl":"","thumbnailUrl":"","title":""},"link":{"thumbnailUrl":"","title":"","url":""},"youtubeVideo":{"alternateLink":"","id":"","thumbnailUrl":"","title":""}}],"scheduledTime":"","state":"","text":"","updateTime":""}'
};

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

NSDictionary *headers = @{ @"content-type": @"application/json" };
NSDictionary *parameters = @{ @"alternateLink": @"",
                              @"assigneeMode": @"",
                              @"courseId": @"",
                              @"creationTime": @"",
                              @"creatorUserId": @"",
                              @"id": @"",
                              @"individualStudentsOptions": @{ @"studentIds": @[  ] },
                              @"materials": @[ @{ @"driveFile": @{ @"driveFile": @{ @"alternateLink": @"", @"id": @"", @"thumbnailUrl": @"", @"title": @"" }, @"shareMode": @"" }, @"form": @{ @"formUrl": @"", @"responseUrl": @"", @"thumbnailUrl": @"", @"title": @"" }, @"link": @{ @"thumbnailUrl": @"", @"title": @"", @"url": @"" }, @"youtubeVideo": @{ @"alternateLink": @"", @"id": @"", @"thumbnailUrl": @"", @"title": @"" } } ],
                              @"scheduledTime": @"",
                              @"state": @"",
                              @"text": @"",
                              @"updateTime": @"" };

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

NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"{{baseUrl}}/v1/courses/:courseId/announcements/:id"]
                                                       cachePolicy:NSURLRequestUseProtocolCachePolicy
                                                   timeoutInterval:10.0];
[request setHTTPMethod:@"PATCH"];
[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}}/v1/courses/:courseId/announcements/:id" in
let headers = Header.add (Header.init ()) "content-type" "application/json" in
let body = Cohttp_lwt_body.of_string "{\n  \"alternateLink\": \"\",\n  \"assigneeMode\": \"\",\n  \"courseId\": \"\",\n  \"creationTime\": \"\",\n  \"creatorUserId\": \"\",\n  \"id\": \"\",\n  \"individualStudentsOptions\": {\n    \"studentIds\": []\n  },\n  \"materials\": [\n    {\n      \"driveFile\": {\n        \"driveFile\": {\n          \"alternateLink\": \"\",\n          \"id\": \"\",\n          \"thumbnailUrl\": \"\",\n          \"title\": \"\"\n        },\n        \"shareMode\": \"\"\n      },\n      \"form\": {\n        \"formUrl\": \"\",\n        \"responseUrl\": \"\",\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\"\n      },\n      \"link\": {\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\",\n        \"url\": \"\"\n      },\n      \"youtubeVideo\": {\n        \"alternateLink\": \"\",\n        \"id\": \"\",\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\"\n      }\n    }\n  ],\n  \"scheduledTime\": \"\",\n  \"state\": \"\",\n  \"text\": \"\",\n  \"updateTime\": \"\"\n}" in

Client.call ~headers ~body `PATCH uri
>>= fun (res, body_stream) ->
  (* Do stuff with the result *)
 "{{baseUrl}}/v1/courses/:courseId/announcements/:id",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "PATCH",
  CURLOPT_POSTFIELDS => json_encode([
    'alternateLink' => '',
    'assigneeMode' => '',
    'courseId' => '',
    'creationTime' => '',
    'creatorUserId' => '',
    'id' => '',
    'individualStudentsOptions' => [
        'studentIds' => [
                
        ]
    ],
    'materials' => [
        [
                'driveFile' => [
                                'driveFile' => [
                                                                'alternateLink' => '',
                                                                'id' => '',
                                                                'thumbnailUrl' => '',
                                                                'title' => ''
                                ],
                                'shareMode' => ''
                ],
                'form' => [
                                'formUrl' => '',
                                'responseUrl' => '',
                                'thumbnailUrl' => '',
                                'title' => ''
                ],
                'link' => [
                                'thumbnailUrl' => '',
                                'title' => '',
                                'url' => ''
                ],
                'youtubeVideo' => [
                                'alternateLink' => '',
                                'id' => '',
                                'thumbnailUrl' => '',
                                'title' => ''
                ]
        ]
    ],
    'scheduledTime' => '',
    'state' => '',
    'text' => '',
    'updateTime' => ''
  ]),
  CURLOPT_HTTPHEADER => [
    "content-type: application/json"
  ],
]);

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

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
request('PATCH', '{{baseUrl}}/v1/courses/:courseId/announcements/:id', [
  'body' => '{
  "alternateLink": "",
  "assigneeMode": "",
  "courseId": "",
  "creationTime": "",
  "creatorUserId": "",
  "id": "",
  "individualStudentsOptions": {
    "studentIds": []
  },
  "materials": [
    {
      "driveFile": {
        "driveFile": {
          "alternateLink": "",
          "id": "",
          "thumbnailUrl": "",
          "title": ""
        },
        "shareMode": ""
      },
      "form": {
        "formUrl": "",
        "responseUrl": "",
        "thumbnailUrl": "",
        "title": ""
      },
      "link": {
        "thumbnailUrl": "",
        "title": "",
        "url": ""
      },
      "youtubeVideo": {
        "alternateLink": "",
        "id": "",
        "thumbnailUrl": "",
        "title": ""
      }
    }
  ],
  "scheduledTime": "",
  "state": "",
  "text": "",
  "updateTime": ""
}',
  'headers' => [
    'content-type' => 'application/json',
  ],
]);

echo $response->getBody();
setUrl('{{baseUrl}}/v1/courses/:courseId/announcements/:id');
$request->setMethod(HttpRequest::HTTP_METH_PATCH);

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

$request->setContentType('application/json');
$request->setBody(json_encode([
  'alternateLink' => '',
  'assigneeMode' => '',
  'courseId' => '',
  'creationTime' => '',
  'creatorUserId' => '',
  'id' => '',
  'individualStudentsOptions' => [
    'studentIds' => [
        
    ]
  ],
  'materials' => [
    [
        'driveFile' => [
                'driveFile' => [
                                'alternateLink' => '',
                                'id' => '',
                                'thumbnailUrl' => '',
                                'title' => ''
                ],
                'shareMode' => ''
        ],
        'form' => [
                'formUrl' => '',
                'responseUrl' => '',
                'thumbnailUrl' => '',
                'title' => ''
        ],
        'link' => [
                'thumbnailUrl' => '',
                'title' => '',
                'url' => ''
        ],
        'youtubeVideo' => [
                'alternateLink' => '',
                'id' => '',
                'thumbnailUrl' => '',
                'title' => ''
        ]
    ]
  ],
  'scheduledTime' => '',
  'state' => '',
  'text' => '',
  'updateTime' => ''
]));

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

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
append(json_encode([
  'alternateLink' => '',
  'assigneeMode' => '',
  'courseId' => '',
  'creationTime' => '',
  'creatorUserId' => '',
  'id' => '',
  'individualStudentsOptions' => [
    'studentIds' => [
        
    ]
  ],
  'materials' => [
    [
        'driveFile' => [
                'driveFile' => [
                                'alternateLink' => '',
                                'id' => '',
                                'thumbnailUrl' => '',
                                'title' => ''
                ],
                'shareMode' => ''
        ],
        'form' => [
                'formUrl' => '',
                'responseUrl' => '',
                'thumbnailUrl' => '',
                'title' => ''
        ],
        'link' => [
                'thumbnailUrl' => '',
                'title' => '',
                'url' => ''
        ],
        'youtubeVideo' => [
                'alternateLink' => '',
                'id' => '',
                'thumbnailUrl' => '',
                'title' => ''
        ]
    ]
  ],
  'scheduledTime' => '',
  'state' => '',
  'text' => '',
  'updateTime' => ''
]));
$request->setRequestUrl('{{baseUrl}}/v1/courses/:courseId/announcements/:id');
$request->setRequestMethod('PATCH');
$request->setBody($body);

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

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

echo $response->getBody();
$headers=@{}
$headers.Add("content-type", "application/json")
$response = Invoke-WebRequest -Uri '{{baseUrl}}/v1/courses/:courseId/announcements/:id' -Method PATCH -Headers $headers -ContentType 'application/json' -Body '{
  "alternateLink": "",
  "assigneeMode": "",
  "courseId": "",
  "creationTime": "",
  "creatorUserId": "",
  "id": "",
  "individualStudentsOptions": {
    "studentIds": []
  },
  "materials": [
    {
      "driveFile": {
        "driveFile": {
          "alternateLink": "",
          "id": "",
          "thumbnailUrl": "",
          "title": ""
        },
        "shareMode": ""
      },
      "form": {
        "formUrl": "",
        "responseUrl": "",
        "thumbnailUrl": "",
        "title": ""
      },
      "link": {
        "thumbnailUrl": "",
        "title": "",
        "url": ""
      },
      "youtubeVideo": {
        "alternateLink": "",
        "id": "",
        "thumbnailUrl": "",
        "title": ""
      }
    }
  ],
  "scheduledTime": "",
  "state": "",
  "text": "",
  "updateTime": ""
}'
$headers=@{}
$headers.Add("content-type", "application/json")
$response = Invoke-RestMethod -Uri '{{baseUrl}}/v1/courses/:courseId/announcements/:id' -Method PATCH -Headers $headers -ContentType 'application/json' -Body '{
  "alternateLink": "",
  "assigneeMode": "",
  "courseId": "",
  "creationTime": "",
  "creatorUserId": "",
  "id": "",
  "individualStudentsOptions": {
    "studentIds": []
  },
  "materials": [
    {
      "driveFile": {
        "driveFile": {
          "alternateLink": "",
          "id": "",
          "thumbnailUrl": "",
          "title": ""
        },
        "shareMode": ""
      },
      "form": {
        "formUrl": "",
        "responseUrl": "",
        "thumbnailUrl": "",
        "title": ""
      },
      "link": {
        "thumbnailUrl": "",
        "title": "",
        "url": ""
      },
      "youtubeVideo": {
        "alternateLink": "",
        "id": "",
        "thumbnailUrl": "",
        "title": ""
      }
    }
  ],
  "scheduledTime": "",
  "state": "",
  "text": "",
  "updateTime": ""
}'
import http.client

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

payload = "{\n  \"alternateLink\": \"\",\n  \"assigneeMode\": \"\",\n  \"courseId\": \"\",\n  \"creationTime\": \"\",\n  \"creatorUserId\": \"\",\n  \"id\": \"\",\n  \"individualStudentsOptions\": {\n    \"studentIds\": []\n  },\n  \"materials\": [\n    {\n      \"driveFile\": {\n        \"driveFile\": {\n          \"alternateLink\": \"\",\n          \"id\": \"\",\n          \"thumbnailUrl\": \"\",\n          \"title\": \"\"\n        },\n        \"shareMode\": \"\"\n      },\n      \"form\": {\n        \"formUrl\": \"\",\n        \"responseUrl\": \"\",\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\"\n      },\n      \"link\": {\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\",\n        \"url\": \"\"\n      },\n      \"youtubeVideo\": {\n        \"alternateLink\": \"\",\n        \"id\": \"\",\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\"\n      }\n    }\n  ],\n  \"scheduledTime\": \"\",\n  \"state\": \"\",\n  \"text\": \"\",\n  \"updateTime\": \"\"\n}"

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

conn.request("PATCH", "/baseUrl/v1/courses/:courseId/announcements/:id", payload, headers)

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

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

url = "{{baseUrl}}/v1/courses/:courseId/announcements/:id"

payload = {
    "alternateLink": "",
    "assigneeMode": "",
    "courseId": "",
    "creationTime": "",
    "creatorUserId": "",
    "id": "",
    "individualStudentsOptions": { "studentIds": [] },
    "materials": [
        {
            "driveFile": {
                "driveFile": {
                    "alternateLink": "",
                    "id": "",
                    "thumbnailUrl": "",
                    "title": ""
                },
                "shareMode": ""
            },
            "form": {
                "formUrl": "",
                "responseUrl": "",
                "thumbnailUrl": "",
                "title": ""
            },
            "link": {
                "thumbnailUrl": "",
                "title": "",
                "url": ""
            },
            "youtubeVideo": {
                "alternateLink": "",
                "id": "",
                "thumbnailUrl": "",
                "title": ""
            }
        }
    ],
    "scheduledTime": "",
    "state": "",
    "text": "",
    "updateTime": ""
}
headers = {"content-type": "application/json"}

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

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

url <- "{{baseUrl}}/v1/courses/:courseId/announcements/:id"

payload <- "{\n  \"alternateLink\": \"\",\n  \"assigneeMode\": \"\",\n  \"courseId\": \"\",\n  \"creationTime\": \"\",\n  \"creatorUserId\": \"\",\n  \"id\": \"\",\n  \"individualStudentsOptions\": {\n    \"studentIds\": []\n  },\n  \"materials\": [\n    {\n      \"driveFile\": {\n        \"driveFile\": {\n          \"alternateLink\": \"\",\n          \"id\": \"\",\n          \"thumbnailUrl\": \"\",\n          \"title\": \"\"\n        },\n        \"shareMode\": \"\"\n      },\n      \"form\": {\n        \"formUrl\": \"\",\n        \"responseUrl\": \"\",\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\"\n      },\n      \"link\": {\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\",\n        \"url\": \"\"\n      },\n      \"youtubeVideo\": {\n        \"alternateLink\": \"\",\n        \"id\": \"\",\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\"\n      }\n    }\n  ],\n  \"scheduledTime\": \"\",\n  \"state\": \"\",\n  \"text\": \"\",\n  \"updateTime\": \"\"\n}"

encode <- "json"

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

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

url = URI("{{baseUrl}}/v1/courses/:courseId/announcements/:id")

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

request = Net::HTTP::Patch.new(url)
request["content-type"] = 'application/json'
request.body = "{\n  \"alternateLink\": \"\",\n  \"assigneeMode\": \"\",\n  \"courseId\": \"\",\n  \"creationTime\": \"\",\n  \"creatorUserId\": \"\",\n  \"id\": \"\",\n  \"individualStudentsOptions\": {\n    \"studentIds\": []\n  },\n  \"materials\": [\n    {\n      \"driveFile\": {\n        \"driveFile\": {\n          \"alternateLink\": \"\",\n          \"id\": \"\",\n          \"thumbnailUrl\": \"\",\n          \"title\": \"\"\n        },\n        \"shareMode\": \"\"\n      },\n      \"form\": {\n        \"formUrl\": \"\",\n        \"responseUrl\": \"\",\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\"\n      },\n      \"link\": {\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\",\n        \"url\": \"\"\n      },\n      \"youtubeVideo\": {\n        \"alternateLink\": \"\",\n        \"id\": \"\",\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\"\n      }\n    }\n  ],\n  \"scheduledTime\": \"\",\n  \"state\": \"\",\n  \"text\": \"\",\n  \"updateTime\": \"\"\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.patch('/baseUrl/v1/courses/:courseId/announcements/:id') do |req|
  req.body = "{\n  \"alternateLink\": \"\",\n  \"assigneeMode\": \"\",\n  \"courseId\": \"\",\n  \"creationTime\": \"\",\n  \"creatorUserId\": \"\",\n  \"id\": \"\",\n  \"individualStudentsOptions\": {\n    \"studentIds\": []\n  },\n  \"materials\": [\n    {\n      \"driveFile\": {\n        \"driveFile\": {\n          \"alternateLink\": \"\",\n          \"id\": \"\",\n          \"thumbnailUrl\": \"\",\n          \"title\": \"\"\n        },\n        \"shareMode\": \"\"\n      },\n      \"form\": {\n        \"formUrl\": \"\",\n        \"responseUrl\": \"\",\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\"\n      },\n      \"link\": {\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\",\n        \"url\": \"\"\n      },\n      \"youtubeVideo\": {\n        \"alternateLink\": \"\",\n        \"id\": \"\",\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\"\n      }\n    }\n  ],\n  \"scheduledTime\": \"\",\n  \"state\": \"\",\n  \"text\": \"\",\n  \"updateTime\": \"\"\n}"
end

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

#[tokio::main]
pub async fn main() {
    let url = "{{baseUrl}}/v1/courses/:courseId/announcements/:id";

    let payload = json!({
        "alternateLink": "",
        "assigneeMode": "",
        "courseId": "",
        "creationTime": "",
        "creatorUserId": "",
        "id": "",
        "individualStudentsOptions": json!({"studentIds": ()}),
        "materials": (
            json!({
                "driveFile": json!({
                    "driveFile": json!({
                        "alternateLink": "",
                        "id": "",
                        "thumbnailUrl": "",
                        "title": ""
                    }),
                    "shareMode": ""
                }),
                "form": json!({
                    "formUrl": "",
                    "responseUrl": "",
                    "thumbnailUrl": "",
                    "title": ""
                }),
                "link": json!({
                    "thumbnailUrl": "",
                    "title": "",
                    "url": ""
                }),
                "youtubeVideo": json!({
                    "alternateLink": "",
                    "id": "",
                    "thumbnailUrl": "",
                    "title": ""
                })
            })
        ),
        "scheduledTime": "",
        "state": "",
        "text": "",
        "updateTime": ""
    });

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

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

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

    dbg!(results);
}
curl --request PATCH \
  --url {{baseUrl}}/v1/courses/:courseId/announcements/:id \
  --header 'content-type: application/json' \
  --data '{
  "alternateLink": "",
  "assigneeMode": "",
  "courseId": "",
  "creationTime": "",
  "creatorUserId": "",
  "id": "",
  "individualStudentsOptions": {
    "studentIds": []
  },
  "materials": [
    {
      "driveFile": {
        "driveFile": {
          "alternateLink": "",
          "id": "",
          "thumbnailUrl": "",
          "title": ""
        },
        "shareMode": ""
      },
      "form": {
        "formUrl": "",
        "responseUrl": "",
        "thumbnailUrl": "",
        "title": ""
      },
      "link": {
        "thumbnailUrl": "",
        "title": "",
        "url": ""
      },
      "youtubeVideo": {
        "alternateLink": "",
        "id": "",
        "thumbnailUrl": "",
        "title": ""
      }
    }
  ],
  "scheduledTime": "",
  "state": "",
  "text": "",
  "updateTime": ""
}'
echo '{
  "alternateLink": "",
  "assigneeMode": "",
  "courseId": "",
  "creationTime": "",
  "creatorUserId": "",
  "id": "",
  "individualStudentsOptions": {
    "studentIds": []
  },
  "materials": [
    {
      "driveFile": {
        "driveFile": {
          "alternateLink": "",
          "id": "",
          "thumbnailUrl": "",
          "title": ""
        },
        "shareMode": ""
      },
      "form": {
        "formUrl": "",
        "responseUrl": "",
        "thumbnailUrl": "",
        "title": ""
      },
      "link": {
        "thumbnailUrl": "",
        "title": "",
        "url": ""
      },
      "youtubeVideo": {
        "alternateLink": "",
        "id": "",
        "thumbnailUrl": "",
        "title": ""
      }
    }
  ],
  "scheduledTime": "",
  "state": "",
  "text": "",
  "updateTime": ""
}' |  \
  http PATCH {{baseUrl}}/v1/courses/:courseId/announcements/:id \
  content-type:application/json
wget --quiet \
  --method PATCH \
  --header 'content-type: application/json' \
  --body-data '{\n  "alternateLink": "",\n  "assigneeMode": "",\n  "courseId": "",\n  "creationTime": "",\n  "creatorUserId": "",\n  "id": "",\n  "individualStudentsOptions": {\n    "studentIds": []\n  },\n  "materials": [\n    {\n      "driveFile": {\n        "driveFile": {\n          "alternateLink": "",\n          "id": "",\n          "thumbnailUrl": "",\n          "title": ""\n        },\n        "shareMode": ""\n      },\n      "form": {\n        "formUrl": "",\n        "responseUrl": "",\n        "thumbnailUrl": "",\n        "title": ""\n      },\n      "link": {\n        "thumbnailUrl": "",\n        "title": "",\n        "url": ""\n      },\n      "youtubeVideo": {\n        "alternateLink": "",\n        "id": "",\n        "thumbnailUrl": "",\n        "title": ""\n      }\n    }\n  ],\n  "scheduledTime": "",\n  "state": "",\n  "text": "",\n  "updateTime": ""\n}' \
  --output-document \
  - {{baseUrl}}/v1/courses/:courseId/announcements/:id
import Foundation

let headers = ["content-type": "application/json"]
let parameters = [
  "alternateLink": "",
  "assigneeMode": "",
  "courseId": "",
  "creationTime": "",
  "creatorUserId": "",
  "id": "",
  "individualStudentsOptions": ["studentIds": []],
  "materials": [
    [
      "driveFile": [
        "driveFile": [
          "alternateLink": "",
          "id": "",
          "thumbnailUrl": "",
          "title": ""
        ],
        "shareMode": ""
      ],
      "form": [
        "formUrl": "",
        "responseUrl": "",
        "thumbnailUrl": "",
        "title": ""
      ],
      "link": [
        "thumbnailUrl": "",
        "title": "",
        "url": ""
      ],
      "youtubeVideo": [
        "alternateLink": "",
        "id": "",
        "thumbnailUrl": "",
        "title": ""
      ]
    ]
  ],
  "scheduledTime": "",
  "state": "",
  "text": "",
  "updateTime": ""
] as [String : Any]

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

let request = NSMutableURLRequest(url: NSURL(string: "{{baseUrl}}/v1/courses/:courseId/announcements/:id")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "PATCH"
request.allHTTPHeaderFields = headers
request.httpBody = postData as Data

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

dataTask.resume()
POST classroom.courses.courseWork.create
{{baseUrl}}/v1/courses/:courseId/courseWork
QUERY PARAMS

courseId
BODY json

{
  "alternateLink": "",
  "assigneeMode": "",
  "assignment": {
    "studentWorkFolder": {
      "alternateLink": "",
      "id": "",
      "title": ""
    }
  },
  "associatedWithDeveloper": false,
  "courseId": "",
  "creationTime": "",
  "creatorUserId": "",
  "description": "",
  "dueDate": {
    "day": 0,
    "month": 0,
    "year": 0
  },
  "dueTime": {
    "hours": 0,
    "minutes": 0,
    "nanos": 0,
    "seconds": 0
  },
  "gradeCategory": {
    "defaultGradeDenominator": 0,
    "id": "",
    "name": "",
    "weight": 0
  },
  "id": "",
  "individualStudentsOptions": {
    "studentIds": []
  },
  "materials": [
    {
      "driveFile": {
        "driveFile": {
          "alternateLink": "",
          "id": "",
          "thumbnailUrl": "",
          "title": ""
        },
        "shareMode": ""
      },
      "form": {
        "formUrl": "",
        "responseUrl": "",
        "thumbnailUrl": "",
        "title": ""
      },
      "link": {
        "thumbnailUrl": "",
        "title": "",
        "url": ""
      },
      "youtubeVideo": {
        "alternateLink": "",
        "id": "",
        "thumbnailUrl": "",
        "title": ""
      }
    }
  ],
  "maxPoints": "",
  "multipleChoiceQuestion": {
    "choices": []
  },
  "scheduledTime": "",
  "state": "",
  "submissionModificationMode": "",
  "title": "",
  "topicId": "",
  "updateTime": "",
  "workType": ""
}
Examples
REQUEST

CURL *hnd = curl_easy_init();

curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "POST");
curl_easy_setopt(hnd, CURLOPT_URL, "{{baseUrl}}/v1/courses/:courseId/courseWork");

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

curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\n  \"alternateLink\": \"\",\n  \"assigneeMode\": \"\",\n  \"assignment\": {\n    \"studentWorkFolder\": {\n      \"alternateLink\": \"\",\n      \"id\": \"\",\n      \"title\": \"\"\n    }\n  },\n  \"associatedWithDeveloper\": false,\n  \"courseId\": \"\",\n  \"creationTime\": \"\",\n  \"creatorUserId\": \"\",\n  \"description\": \"\",\n  \"dueDate\": {\n    \"day\": 0,\n    \"month\": 0,\n    \"year\": 0\n  },\n  \"dueTime\": {\n    \"hours\": 0,\n    \"minutes\": 0,\n    \"nanos\": 0,\n    \"seconds\": 0\n  },\n  \"gradeCategory\": {\n    \"defaultGradeDenominator\": 0,\n    \"id\": \"\",\n    \"name\": \"\",\n    \"weight\": 0\n  },\n  \"id\": \"\",\n  \"individualStudentsOptions\": {\n    \"studentIds\": []\n  },\n  \"materials\": [\n    {\n      \"driveFile\": {\n        \"driveFile\": {\n          \"alternateLink\": \"\",\n          \"id\": \"\",\n          \"thumbnailUrl\": \"\",\n          \"title\": \"\"\n        },\n        \"shareMode\": \"\"\n      },\n      \"form\": {\n        \"formUrl\": \"\",\n        \"responseUrl\": \"\",\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\"\n      },\n      \"link\": {\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\",\n        \"url\": \"\"\n      },\n      \"youtubeVideo\": {\n        \"alternateLink\": \"\",\n        \"id\": \"\",\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\"\n      }\n    }\n  ],\n  \"maxPoints\": \"\",\n  \"multipleChoiceQuestion\": {\n    \"choices\": []\n  },\n  \"scheduledTime\": \"\",\n  \"state\": \"\",\n  \"submissionModificationMode\": \"\",\n  \"title\": \"\",\n  \"topicId\": \"\",\n  \"updateTime\": \"\",\n  \"workType\": \"\"\n}");

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

(client/post "{{baseUrl}}/v1/courses/:courseId/courseWork" {:content-type :json
                                                                            :form-params {:alternateLink ""
                                                                                          :assigneeMode ""
                                                                                          :assignment {:studentWorkFolder {:alternateLink ""
                                                                                                                           :id ""
                                                                                                                           :title ""}}
                                                                                          :associatedWithDeveloper false
                                                                                          :courseId ""
                                                                                          :creationTime ""
                                                                                          :creatorUserId ""
                                                                                          :description ""
                                                                                          :dueDate {:day 0
                                                                                                    :month 0
                                                                                                    :year 0}
                                                                                          :dueTime {:hours 0
                                                                                                    :minutes 0
                                                                                                    :nanos 0
                                                                                                    :seconds 0}
                                                                                          :gradeCategory {:defaultGradeDenominator 0
                                                                                                          :id ""
                                                                                                          :name ""
                                                                                                          :weight 0}
                                                                                          :id ""
                                                                                          :individualStudentsOptions {:studentIds []}
                                                                                          :materials [{:driveFile {:driveFile {:alternateLink ""
                                                                                                                               :id ""
                                                                                                                               :thumbnailUrl ""
                                                                                                                               :title ""}
                                                                                                                   :shareMode ""}
                                                                                                       :form {:formUrl ""
                                                                                                              :responseUrl ""
                                                                                                              :thumbnailUrl ""
                                                                                                              :title ""}
                                                                                                       :link {:thumbnailUrl ""
                                                                                                              :title ""
                                                                                                              :url ""}
                                                                                                       :youtubeVideo {:alternateLink ""
                                                                                                                      :id ""
                                                                                                                      :thumbnailUrl ""
                                                                                                                      :title ""}}]
                                                                                          :maxPoints ""
                                                                                          :multipleChoiceQuestion {:choices []}
                                                                                          :scheduledTime ""
                                                                                          :state ""
                                                                                          :submissionModificationMode ""
                                                                                          :title ""
                                                                                          :topicId ""
                                                                                          :updateTime ""
                                                                                          :workType ""}})
require "http/client"

url = "{{baseUrl}}/v1/courses/:courseId/courseWork"
headers = HTTP::Headers{
  "content-type" => "application/json"
}
reqBody = "{\n  \"alternateLink\": \"\",\n  \"assigneeMode\": \"\",\n  \"assignment\": {\n    \"studentWorkFolder\": {\n      \"alternateLink\": \"\",\n      \"id\": \"\",\n      \"title\": \"\"\n    }\n  },\n  \"associatedWithDeveloper\": false,\n  \"courseId\": \"\",\n  \"creationTime\": \"\",\n  \"creatorUserId\": \"\",\n  \"description\": \"\",\n  \"dueDate\": {\n    \"day\": 0,\n    \"month\": 0,\n    \"year\": 0\n  },\n  \"dueTime\": {\n    \"hours\": 0,\n    \"minutes\": 0,\n    \"nanos\": 0,\n    \"seconds\": 0\n  },\n  \"gradeCategory\": {\n    \"defaultGradeDenominator\": 0,\n    \"id\": \"\",\n    \"name\": \"\",\n    \"weight\": 0\n  },\n  \"id\": \"\",\n  \"individualStudentsOptions\": {\n    \"studentIds\": []\n  },\n  \"materials\": [\n    {\n      \"driveFile\": {\n        \"driveFile\": {\n          \"alternateLink\": \"\",\n          \"id\": \"\",\n          \"thumbnailUrl\": \"\",\n          \"title\": \"\"\n        },\n        \"shareMode\": \"\"\n      },\n      \"form\": {\n        \"formUrl\": \"\",\n        \"responseUrl\": \"\",\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\"\n      },\n      \"link\": {\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\",\n        \"url\": \"\"\n      },\n      \"youtubeVideo\": {\n        \"alternateLink\": \"\",\n        \"id\": \"\",\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\"\n      }\n    }\n  ],\n  \"maxPoints\": \"\",\n  \"multipleChoiceQuestion\": {\n    \"choices\": []\n  },\n  \"scheduledTime\": \"\",\n  \"state\": \"\",\n  \"submissionModificationMode\": \"\",\n  \"title\": \"\",\n  \"topicId\": \"\",\n  \"updateTime\": \"\",\n  \"workType\": \"\"\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}}/v1/courses/:courseId/courseWork"),
    Content = new StringContent("{\n  \"alternateLink\": \"\",\n  \"assigneeMode\": \"\",\n  \"assignment\": {\n    \"studentWorkFolder\": {\n      \"alternateLink\": \"\",\n      \"id\": \"\",\n      \"title\": \"\"\n    }\n  },\n  \"associatedWithDeveloper\": false,\n  \"courseId\": \"\",\n  \"creationTime\": \"\",\n  \"creatorUserId\": \"\",\n  \"description\": \"\",\n  \"dueDate\": {\n    \"day\": 0,\n    \"month\": 0,\n    \"year\": 0\n  },\n  \"dueTime\": {\n    \"hours\": 0,\n    \"minutes\": 0,\n    \"nanos\": 0,\n    \"seconds\": 0\n  },\n  \"gradeCategory\": {\n    \"defaultGradeDenominator\": 0,\n    \"id\": \"\",\n    \"name\": \"\",\n    \"weight\": 0\n  },\n  \"id\": \"\",\n  \"individualStudentsOptions\": {\n    \"studentIds\": []\n  },\n  \"materials\": [\n    {\n      \"driveFile\": {\n        \"driveFile\": {\n          \"alternateLink\": \"\",\n          \"id\": \"\",\n          \"thumbnailUrl\": \"\",\n          \"title\": \"\"\n        },\n        \"shareMode\": \"\"\n      },\n      \"form\": {\n        \"formUrl\": \"\",\n        \"responseUrl\": \"\",\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\"\n      },\n      \"link\": {\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\",\n        \"url\": \"\"\n      },\n      \"youtubeVideo\": {\n        \"alternateLink\": \"\",\n        \"id\": \"\",\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\"\n      }\n    }\n  ],\n  \"maxPoints\": \"\",\n  \"multipleChoiceQuestion\": {\n    \"choices\": []\n  },\n  \"scheduledTime\": \"\",\n  \"state\": \"\",\n  \"submissionModificationMode\": \"\",\n  \"title\": \"\",\n  \"topicId\": \"\",\n  \"updateTime\": \"\",\n  \"workType\": \"\"\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}}/v1/courses/:courseId/courseWork");
var request = new RestRequest("", Method.Post);
request.AddHeader("content-type", "application/json");
request.AddParameter("application/json", "{\n  \"alternateLink\": \"\",\n  \"assigneeMode\": \"\",\n  \"assignment\": {\n    \"studentWorkFolder\": {\n      \"alternateLink\": \"\",\n      \"id\": \"\",\n      \"title\": \"\"\n    }\n  },\n  \"associatedWithDeveloper\": false,\n  \"courseId\": \"\",\n  \"creationTime\": \"\",\n  \"creatorUserId\": \"\",\n  \"description\": \"\",\n  \"dueDate\": {\n    \"day\": 0,\n    \"month\": 0,\n    \"year\": 0\n  },\n  \"dueTime\": {\n    \"hours\": 0,\n    \"minutes\": 0,\n    \"nanos\": 0,\n    \"seconds\": 0\n  },\n  \"gradeCategory\": {\n    \"defaultGradeDenominator\": 0,\n    \"id\": \"\",\n    \"name\": \"\",\n    \"weight\": 0\n  },\n  \"id\": \"\",\n  \"individualStudentsOptions\": {\n    \"studentIds\": []\n  },\n  \"materials\": [\n    {\n      \"driveFile\": {\n        \"driveFile\": {\n          \"alternateLink\": \"\",\n          \"id\": \"\",\n          \"thumbnailUrl\": \"\",\n          \"title\": \"\"\n        },\n        \"shareMode\": \"\"\n      },\n      \"form\": {\n        \"formUrl\": \"\",\n        \"responseUrl\": \"\",\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\"\n      },\n      \"link\": {\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\",\n        \"url\": \"\"\n      },\n      \"youtubeVideo\": {\n        \"alternateLink\": \"\",\n        \"id\": \"\",\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\"\n      }\n    }\n  ],\n  \"maxPoints\": \"\",\n  \"multipleChoiceQuestion\": {\n    \"choices\": []\n  },\n  \"scheduledTime\": \"\",\n  \"state\": \"\",\n  \"submissionModificationMode\": \"\",\n  \"title\": \"\",\n  \"topicId\": \"\",\n  \"updateTime\": \"\",\n  \"workType\": \"\"\n}", ParameterType.RequestBody);
var response = client.Execute(request);
package main

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

func main() {

	url := "{{baseUrl}}/v1/courses/:courseId/courseWork"

	payload := strings.NewReader("{\n  \"alternateLink\": \"\",\n  \"assigneeMode\": \"\",\n  \"assignment\": {\n    \"studentWorkFolder\": {\n      \"alternateLink\": \"\",\n      \"id\": \"\",\n      \"title\": \"\"\n    }\n  },\n  \"associatedWithDeveloper\": false,\n  \"courseId\": \"\",\n  \"creationTime\": \"\",\n  \"creatorUserId\": \"\",\n  \"description\": \"\",\n  \"dueDate\": {\n    \"day\": 0,\n    \"month\": 0,\n    \"year\": 0\n  },\n  \"dueTime\": {\n    \"hours\": 0,\n    \"minutes\": 0,\n    \"nanos\": 0,\n    \"seconds\": 0\n  },\n  \"gradeCategory\": {\n    \"defaultGradeDenominator\": 0,\n    \"id\": \"\",\n    \"name\": \"\",\n    \"weight\": 0\n  },\n  \"id\": \"\",\n  \"individualStudentsOptions\": {\n    \"studentIds\": []\n  },\n  \"materials\": [\n    {\n      \"driveFile\": {\n        \"driveFile\": {\n          \"alternateLink\": \"\",\n          \"id\": \"\",\n          \"thumbnailUrl\": \"\",\n          \"title\": \"\"\n        },\n        \"shareMode\": \"\"\n      },\n      \"form\": {\n        \"formUrl\": \"\",\n        \"responseUrl\": \"\",\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\"\n      },\n      \"link\": {\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\",\n        \"url\": \"\"\n      },\n      \"youtubeVideo\": {\n        \"alternateLink\": \"\",\n        \"id\": \"\",\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\"\n      }\n    }\n  ],\n  \"maxPoints\": \"\",\n  \"multipleChoiceQuestion\": {\n    \"choices\": []\n  },\n  \"scheduledTime\": \"\",\n  \"state\": \"\",\n  \"submissionModificationMode\": \"\",\n  \"title\": \"\",\n  \"topicId\": \"\",\n  \"updateTime\": \"\",\n  \"workType\": \"\"\n}")

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

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

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

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

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

}
POST /baseUrl/v1/courses/:courseId/courseWork HTTP/1.1
Content-Type: application/json
Host: example.com
Content-Length: 1395

{
  "alternateLink": "",
  "assigneeMode": "",
  "assignment": {
    "studentWorkFolder": {
      "alternateLink": "",
      "id": "",
      "title": ""
    }
  },
  "associatedWithDeveloper": false,
  "courseId": "",
  "creationTime": "",
  "creatorUserId": "",
  "description": "",
  "dueDate": {
    "day": 0,
    "month": 0,
    "year": 0
  },
  "dueTime": {
    "hours": 0,
    "minutes": 0,
    "nanos": 0,
    "seconds": 0
  },
  "gradeCategory": {
    "defaultGradeDenominator": 0,
    "id": "",
    "name": "",
    "weight": 0
  },
  "id": "",
  "individualStudentsOptions": {
    "studentIds": []
  },
  "materials": [
    {
      "driveFile": {
        "driveFile": {
          "alternateLink": "",
          "id": "",
          "thumbnailUrl": "",
          "title": ""
        },
        "shareMode": ""
      },
      "form": {
        "formUrl": "",
        "responseUrl": "",
        "thumbnailUrl": "",
        "title": ""
      },
      "link": {
        "thumbnailUrl": "",
        "title": "",
        "url": ""
      },
      "youtubeVideo": {
        "alternateLink": "",
        "id": "",
        "thumbnailUrl": "",
        "title": ""
      }
    }
  ],
  "maxPoints": "",
  "multipleChoiceQuestion": {
    "choices": []
  },
  "scheduledTime": "",
  "state": "",
  "submissionModificationMode": "",
  "title": "",
  "topicId": "",
  "updateTime": "",
  "workType": ""
}
AsyncHttpClient client = new DefaultAsyncHttpClient();
client.prepare("POST", "{{baseUrl}}/v1/courses/:courseId/courseWork")
  .setHeader("content-type", "application/json")
  .setBody("{\n  \"alternateLink\": \"\",\n  \"assigneeMode\": \"\",\n  \"assignment\": {\n    \"studentWorkFolder\": {\n      \"alternateLink\": \"\",\n      \"id\": \"\",\n      \"title\": \"\"\n    }\n  },\n  \"associatedWithDeveloper\": false,\n  \"courseId\": \"\",\n  \"creationTime\": \"\",\n  \"creatorUserId\": \"\",\n  \"description\": \"\",\n  \"dueDate\": {\n    \"day\": 0,\n    \"month\": 0,\n    \"year\": 0\n  },\n  \"dueTime\": {\n    \"hours\": 0,\n    \"minutes\": 0,\n    \"nanos\": 0,\n    \"seconds\": 0\n  },\n  \"gradeCategory\": {\n    \"defaultGradeDenominator\": 0,\n    \"id\": \"\",\n    \"name\": \"\",\n    \"weight\": 0\n  },\n  \"id\": \"\",\n  \"individualStudentsOptions\": {\n    \"studentIds\": []\n  },\n  \"materials\": [\n    {\n      \"driveFile\": {\n        \"driveFile\": {\n          \"alternateLink\": \"\",\n          \"id\": \"\",\n          \"thumbnailUrl\": \"\",\n          \"title\": \"\"\n        },\n        \"shareMode\": \"\"\n      },\n      \"form\": {\n        \"formUrl\": \"\",\n        \"responseUrl\": \"\",\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\"\n      },\n      \"link\": {\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\",\n        \"url\": \"\"\n      },\n      \"youtubeVideo\": {\n        \"alternateLink\": \"\",\n        \"id\": \"\",\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\"\n      }\n    }\n  ],\n  \"maxPoints\": \"\",\n  \"multipleChoiceQuestion\": {\n    \"choices\": []\n  },\n  \"scheduledTime\": \"\",\n  \"state\": \"\",\n  \"submissionModificationMode\": \"\",\n  \"title\": \"\",\n  \"topicId\": \"\",\n  \"updateTime\": \"\",\n  \"workType\": \"\"\n}")
  .execute()
  .toCompletableFuture()
  .thenAccept(System.out::println)
  .join();

client.close();
HttpRequest request = HttpRequest.newBuilder()
    .uri(URI.create("{{baseUrl}}/v1/courses/:courseId/courseWork"))
    .header("content-type", "application/json")
    .method("POST", HttpRequest.BodyPublishers.ofString("{\n  \"alternateLink\": \"\",\n  \"assigneeMode\": \"\",\n  \"assignment\": {\n    \"studentWorkFolder\": {\n      \"alternateLink\": \"\",\n      \"id\": \"\",\n      \"title\": \"\"\n    }\n  },\n  \"associatedWithDeveloper\": false,\n  \"courseId\": \"\",\n  \"creationTime\": \"\",\n  \"creatorUserId\": \"\",\n  \"description\": \"\",\n  \"dueDate\": {\n    \"day\": 0,\n    \"month\": 0,\n    \"year\": 0\n  },\n  \"dueTime\": {\n    \"hours\": 0,\n    \"minutes\": 0,\n    \"nanos\": 0,\n    \"seconds\": 0\n  },\n  \"gradeCategory\": {\n    \"defaultGradeDenominator\": 0,\n    \"id\": \"\",\n    \"name\": \"\",\n    \"weight\": 0\n  },\n  \"id\": \"\",\n  \"individualStudentsOptions\": {\n    \"studentIds\": []\n  },\n  \"materials\": [\n    {\n      \"driveFile\": {\n        \"driveFile\": {\n          \"alternateLink\": \"\",\n          \"id\": \"\",\n          \"thumbnailUrl\": \"\",\n          \"title\": \"\"\n        },\n        \"shareMode\": \"\"\n      },\n      \"form\": {\n        \"formUrl\": \"\",\n        \"responseUrl\": \"\",\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\"\n      },\n      \"link\": {\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\",\n        \"url\": \"\"\n      },\n      \"youtubeVideo\": {\n        \"alternateLink\": \"\",\n        \"id\": \"\",\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\"\n      }\n    }\n  ],\n  \"maxPoints\": \"\",\n  \"multipleChoiceQuestion\": {\n    \"choices\": []\n  },\n  \"scheduledTime\": \"\",\n  \"state\": \"\",\n  \"submissionModificationMode\": \"\",\n  \"title\": \"\",\n  \"topicId\": \"\",\n  \"updateTime\": \"\",\n  \"workType\": \"\"\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  \"alternateLink\": \"\",\n  \"assigneeMode\": \"\",\n  \"assignment\": {\n    \"studentWorkFolder\": {\n      \"alternateLink\": \"\",\n      \"id\": \"\",\n      \"title\": \"\"\n    }\n  },\n  \"associatedWithDeveloper\": false,\n  \"courseId\": \"\",\n  \"creationTime\": \"\",\n  \"creatorUserId\": \"\",\n  \"description\": \"\",\n  \"dueDate\": {\n    \"day\": 0,\n    \"month\": 0,\n    \"year\": 0\n  },\n  \"dueTime\": {\n    \"hours\": 0,\n    \"minutes\": 0,\n    \"nanos\": 0,\n    \"seconds\": 0\n  },\n  \"gradeCategory\": {\n    \"defaultGradeDenominator\": 0,\n    \"id\": \"\",\n    \"name\": \"\",\n    \"weight\": 0\n  },\n  \"id\": \"\",\n  \"individualStudentsOptions\": {\n    \"studentIds\": []\n  },\n  \"materials\": [\n    {\n      \"driveFile\": {\n        \"driveFile\": {\n          \"alternateLink\": \"\",\n          \"id\": \"\",\n          \"thumbnailUrl\": \"\",\n          \"title\": \"\"\n        },\n        \"shareMode\": \"\"\n      },\n      \"form\": {\n        \"formUrl\": \"\",\n        \"responseUrl\": \"\",\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\"\n      },\n      \"link\": {\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\",\n        \"url\": \"\"\n      },\n      \"youtubeVideo\": {\n        \"alternateLink\": \"\",\n        \"id\": \"\",\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\"\n      }\n    }\n  ],\n  \"maxPoints\": \"\",\n  \"multipleChoiceQuestion\": {\n    \"choices\": []\n  },\n  \"scheduledTime\": \"\",\n  \"state\": \"\",\n  \"submissionModificationMode\": \"\",\n  \"title\": \"\",\n  \"topicId\": \"\",\n  \"updateTime\": \"\",\n  \"workType\": \"\"\n}");
Request request = new Request.Builder()
  .url("{{baseUrl}}/v1/courses/:courseId/courseWork")
  .post(body)
  .addHeader("content-type", "application/json")
  .build();

Response response = client.newCall(request).execute();
HttpResponse response = Unirest.post("{{baseUrl}}/v1/courses/:courseId/courseWork")
  .header("content-type", "application/json")
  .body("{\n  \"alternateLink\": \"\",\n  \"assigneeMode\": \"\",\n  \"assignment\": {\n    \"studentWorkFolder\": {\n      \"alternateLink\": \"\",\n      \"id\": \"\",\n      \"title\": \"\"\n    }\n  },\n  \"associatedWithDeveloper\": false,\n  \"courseId\": \"\",\n  \"creationTime\": \"\",\n  \"creatorUserId\": \"\",\n  \"description\": \"\",\n  \"dueDate\": {\n    \"day\": 0,\n    \"month\": 0,\n    \"year\": 0\n  },\n  \"dueTime\": {\n    \"hours\": 0,\n    \"minutes\": 0,\n    \"nanos\": 0,\n    \"seconds\": 0\n  },\n  \"gradeCategory\": {\n    \"defaultGradeDenominator\": 0,\n    \"id\": \"\",\n    \"name\": \"\",\n    \"weight\": 0\n  },\n  \"id\": \"\",\n  \"individualStudentsOptions\": {\n    \"studentIds\": []\n  },\n  \"materials\": [\n    {\n      \"driveFile\": {\n        \"driveFile\": {\n          \"alternateLink\": \"\",\n          \"id\": \"\",\n          \"thumbnailUrl\": \"\",\n          \"title\": \"\"\n        },\n        \"shareMode\": \"\"\n      },\n      \"form\": {\n        \"formUrl\": \"\",\n        \"responseUrl\": \"\",\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\"\n      },\n      \"link\": {\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\",\n        \"url\": \"\"\n      },\n      \"youtubeVideo\": {\n        \"alternateLink\": \"\",\n        \"id\": \"\",\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\"\n      }\n    }\n  ],\n  \"maxPoints\": \"\",\n  \"multipleChoiceQuestion\": {\n    \"choices\": []\n  },\n  \"scheduledTime\": \"\",\n  \"state\": \"\",\n  \"submissionModificationMode\": \"\",\n  \"title\": \"\",\n  \"topicId\": \"\",\n  \"updateTime\": \"\",\n  \"workType\": \"\"\n}")
  .asString();
const data = JSON.stringify({
  alternateLink: '',
  assigneeMode: '',
  assignment: {
    studentWorkFolder: {
      alternateLink: '',
      id: '',
      title: ''
    }
  },
  associatedWithDeveloper: false,
  courseId: '',
  creationTime: '',
  creatorUserId: '',
  description: '',
  dueDate: {
    day: 0,
    month: 0,
    year: 0
  },
  dueTime: {
    hours: 0,
    minutes: 0,
    nanos: 0,
    seconds: 0
  },
  gradeCategory: {
    defaultGradeDenominator: 0,
    id: '',
    name: '',
    weight: 0
  },
  id: '',
  individualStudentsOptions: {
    studentIds: []
  },
  materials: [
    {
      driveFile: {
        driveFile: {
          alternateLink: '',
          id: '',
          thumbnailUrl: '',
          title: ''
        },
        shareMode: ''
      },
      form: {
        formUrl: '',
        responseUrl: '',
        thumbnailUrl: '',
        title: ''
      },
      link: {
        thumbnailUrl: '',
        title: '',
        url: ''
      },
      youtubeVideo: {
        alternateLink: '',
        id: '',
        thumbnailUrl: '',
        title: ''
      }
    }
  ],
  maxPoints: '',
  multipleChoiceQuestion: {
    choices: []
  },
  scheduledTime: '',
  state: '',
  submissionModificationMode: '',
  title: '',
  topicId: '',
  updateTime: '',
  workType: ''
});

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

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

xhr.open('POST', '{{baseUrl}}/v1/courses/:courseId/courseWork');
xhr.setRequestHeader('content-type', 'application/json');

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

const options = {
  method: 'POST',
  url: '{{baseUrl}}/v1/courses/:courseId/courseWork',
  headers: {'content-type': 'application/json'},
  data: {
    alternateLink: '',
    assigneeMode: '',
    assignment: {studentWorkFolder: {alternateLink: '', id: '', title: ''}},
    associatedWithDeveloper: false,
    courseId: '',
    creationTime: '',
    creatorUserId: '',
    description: '',
    dueDate: {day: 0, month: 0, year: 0},
    dueTime: {hours: 0, minutes: 0, nanos: 0, seconds: 0},
    gradeCategory: {defaultGradeDenominator: 0, id: '', name: '', weight: 0},
    id: '',
    individualStudentsOptions: {studentIds: []},
    materials: [
      {
        driveFile: {
          driveFile: {alternateLink: '', id: '', thumbnailUrl: '', title: ''},
          shareMode: ''
        },
        form: {formUrl: '', responseUrl: '', thumbnailUrl: '', title: ''},
        link: {thumbnailUrl: '', title: '', url: ''},
        youtubeVideo: {alternateLink: '', id: '', thumbnailUrl: '', title: ''}
      }
    ],
    maxPoints: '',
    multipleChoiceQuestion: {choices: []},
    scheduledTime: '',
    state: '',
    submissionModificationMode: '',
    title: '',
    topicId: '',
    updateTime: '',
    workType: ''
  }
};

try {
  const { data } = await axios.request(options);
  console.log(data);
} catch (error) {
  console.error(error);
}
const url = '{{baseUrl}}/v1/courses/:courseId/courseWork';
const options = {
  method: 'POST',
  headers: {'content-type': 'application/json'},
  body: '{"alternateLink":"","assigneeMode":"","assignment":{"studentWorkFolder":{"alternateLink":"","id":"","title":""}},"associatedWithDeveloper":false,"courseId":"","creationTime":"","creatorUserId":"","description":"","dueDate":{"day":0,"month":0,"year":0},"dueTime":{"hours":0,"minutes":0,"nanos":0,"seconds":0},"gradeCategory":{"defaultGradeDenominator":0,"id":"","name":"","weight":0},"id":"","individualStudentsOptions":{"studentIds":[]},"materials":[{"driveFile":{"driveFile":{"alternateLink":"","id":"","thumbnailUrl":"","title":""},"shareMode":""},"form":{"formUrl":"","responseUrl":"","thumbnailUrl":"","title":""},"link":{"thumbnailUrl":"","title":"","url":""},"youtubeVideo":{"alternateLink":"","id":"","thumbnailUrl":"","title":""}}],"maxPoints":"","multipleChoiceQuestion":{"choices":[]},"scheduledTime":"","state":"","submissionModificationMode":"","title":"","topicId":"","updateTime":"","workType":""}'
};

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}}/v1/courses/:courseId/courseWork',
  method: 'POST',
  headers: {
    'content-type': 'application/json'
  },
  processData: false,
  data: '{\n  "alternateLink": "",\n  "assigneeMode": "",\n  "assignment": {\n    "studentWorkFolder": {\n      "alternateLink": "",\n      "id": "",\n      "title": ""\n    }\n  },\n  "associatedWithDeveloper": false,\n  "courseId": "",\n  "creationTime": "",\n  "creatorUserId": "",\n  "description": "",\n  "dueDate": {\n    "day": 0,\n    "month": 0,\n    "year": 0\n  },\n  "dueTime": {\n    "hours": 0,\n    "minutes": 0,\n    "nanos": 0,\n    "seconds": 0\n  },\n  "gradeCategory": {\n    "defaultGradeDenominator": 0,\n    "id": "",\n    "name": "",\n    "weight": 0\n  },\n  "id": "",\n  "individualStudentsOptions": {\n    "studentIds": []\n  },\n  "materials": [\n    {\n      "driveFile": {\n        "driveFile": {\n          "alternateLink": "",\n          "id": "",\n          "thumbnailUrl": "",\n          "title": ""\n        },\n        "shareMode": ""\n      },\n      "form": {\n        "formUrl": "",\n        "responseUrl": "",\n        "thumbnailUrl": "",\n        "title": ""\n      },\n      "link": {\n        "thumbnailUrl": "",\n        "title": "",\n        "url": ""\n      },\n      "youtubeVideo": {\n        "alternateLink": "",\n        "id": "",\n        "thumbnailUrl": "",\n        "title": ""\n      }\n    }\n  ],\n  "maxPoints": "",\n  "multipleChoiceQuestion": {\n    "choices": []\n  },\n  "scheduledTime": "",\n  "state": "",\n  "submissionModificationMode": "",\n  "title": "",\n  "topicId": "",\n  "updateTime": "",\n  "workType": ""\n}'
};

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

val mediaType = MediaType.parse("application/json")
val body = RequestBody.create(mediaType, "{\n  \"alternateLink\": \"\",\n  \"assigneeMode\": \"\",\n  \"assignment\": {\n    \"studentWorkFolder\": {\n      \"alternateLink\": \"\",\n      \"id\": \"\",\n      \"title\": \"\"\n    }\n  },\n  \"associatedWithDeveloper\": false,\n  \"courseId\": \"\",\n  \"creationTime\": \"\",\n  \"creatorUserId\": \"\",\n  \"description\": \"\",\n  \"dueDate\": {\n    \"day\": 0,\n    \"month\": 0,\n    \"year\": 0\n  },\n  \"dueTime\": {\n    \"hours\": 0,\n    \"minutes\": 0,\n    \"nanos\": 0,\n    \"seconds\": 0\n  },\n  \"gradeCategory\": {\n    \"defaultGradeDenominator\": 0,\n    \"id\": \"\",\n    \"name\": \"\",\n    \"weight\": 0\n  },\n  \"id\": \"\",\n  \"individualStudentsOptions\": {\n    \"studentIds\": []\n  },\n  \"materials\": [\n    {\n      \"driveFile\": {\n        \"driveFile\": {\n          \"alternateLink\": \"\",\n          \"id\": \"\",\n          \"thumbnailUrl\": \"\",\n          \"title\": \"\"\n        },\n        \"shareMode\": \"\"\n      },\n      \"form\": {\n        \"formUrl\": \"\",\n        \"responseUrl\": \"\",\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\"\n      },\n      \"link\": {\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\",\n        \"url\": \"\"\n      },\n      \"youtubeVideo\": {\n        \"alternateLink\": \"\",\n        \"id\": \"\",\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\"\n      }\n    }\n  ],\n  \"maxPoints\": \"\",\n  \"multipleChoiceQuestion\": {\n    \"choices\": []\n  },\n  \"scheduledTime\": \"\",\n  \"state\": \"\",\n  \"submissionModificationMode\": \"\",\n  \"title\": \"\",\n  \"topicId\": \"\",\n  \"updateTime\": \"\",\n  \"workType\": \"\"\n}")
val request = Request.Builder()
  .url("{{baseUrl}}/v1/courses/:courseId/courseWork")
  .post(body)
  .addHeader("content-type", "application/json")
  .build()

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

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

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

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

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

req.write(JSON.stringify({
  alternateLink: '',
  assigneeMode: '',
  assignment: {studentWorkFolder: {alternateLink: '', id: '', title: ''}},
  associatedWithDeveloper: false,
  courseId: '',
  creationTime: '',
  creatorUserId: '',
  description: '',
  dueDate: {day: 0, month: 0, year: 0},
  dueTime: {hours: 0, minutes: 0, nanos: 0, seconds: 0},
  gradeCategory: {defaultGradeDenominator: 0, id: '', name: '', weight: 0},
  id: '',
  individualStudentsOptions: {studentIds: []},
  materials: [
    {
      driveFile: {
        driveFile: {alternateLink: '', id: '', thumbnailUrl: '', title: ''},
        shareMode: ''
      },
      form: {formUrl: '', responseUrl: '', thumbnailUrl: '', title: ''},
      link: {thumbnailUrl: '', title: '', url: ''},
      youtubeVideo: {alternateLink: '', id: '', thumbnailUrl: '', title: ''}
    }
  ],
  maxPoints: '',
  multipleChoiceQuestion: {choices: []},
  scheduledTime: '',
  state: '',
  submissionModificationMode: '',
  title: '',
  topicId: '',
  updateTime: '',
  workType: ''
}));
req.end();
const request = require('request');

const options = {
  method: 'POST',
  url: '{{baseUrl}}/v1/courses/:courseId/courseWork',
  headers: {'content-type': 'application/json'},
  body: {
    alternateLink: '',
    assigneeMode: '',
    assignment: {studentWorkFolder: {alternateLink: '', id: '', title: ''}},
    associatedWithDeveloper: false,
    courseId: '',
    creationTime: '',
    creatorUserId: '',
    description: '',
    dueDate: {day: 0, month: 0, year: 0},
    dueTime: {hours: 0, minutes: 0, nanos: 0, seconds: 0},
    gradeCategory: {defaultGradeDenominator: 0, id: '', name: '', weight: 0},
    id: '',
    individualStudentsOptions: {studentIds: []},
    materials: [
      {
        driveFile: {
          driveFile: {alternateLink: '', id: '', thumbnailUrl: '', title: ''},
          shareMode: ''
        },
        form: {formUrl: '', responseUrl: '', thumbnailUrl: '', title: ''},
        link: {thumbnailUrl: '', title: '', url: ''},
        youtubeVideo: {alternateLink: '', id: '', thumbnailUrl: '', title: ''}
      }
    ],
    maxPoints: '',
    multipleChoiceQuestion: {choices: []},
    scheduledTime: '',
    state: '',
    submissionModificationMode: '',
    title: '',
    topicId: '',
    updateTime: '',
    workType: ''
  },
  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}}/v1/courses/:courseId/courseWork');

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

req.type('json');
req.send({
  alternateLink: '',
  assigneeMode: '',
  assignment: {
    studentWorkFolder: {
      alternateLink: '',
      id: '',
      title: ''
    }
  },
  associatedWithDeveloper: false,
  courseId: '',
  creationTime: '',
  creatorUserId: '',
  description: '',
  dueDate: {
    day: 0,
    month: 0,
    year: 0
  },
  dueTime: {
    hours: 0,
    minutes: 0,
    nanos: 0,
    seconds: 0
  },
  gradeCategory: {
    defaultGradeDenominator: 0,
    id: '',
    name: '',
    weight: 0
  },
  id: '',
  individualStudentsOptions: {
    studentIds: []
  },
  materials: [
    {
      driveFile: {
        driveFile: {
          alternateLink: '',
          id: '',
          thumbnailUrl: '',
          title: ''
        },
        shareMode: ''
      },
      form: {
        formUrl: '',
        responseUrl: '',
        thumbnailUrl: '',
        title: ''
      },
      link: {
        thumbnailUrl: '',
        title: '',
        url: ''
      },
      youtubeVideo: {
        alternateLink: '',
        id: '',
        thumbnailUrl: '',
        title: ''
      }
    }
  ],
  maxPoints: '',
  multipleChoiceQuestion: {
    choices: []
  },
  scheduledTime: '',
  state: '',
  submissionModificationMode: '',
  title: '',
  topicId: '',
  updateTime: '',
  workType: ''
});

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}}/v1/courses/:courseId/courseWork',
  headers: {'content-type': 'application/json'},
  data: {
    alternateLink: '',
    assigneeMode: '',
    assignment: {studentWorkFolder: {alternateLink: '', id: '', title: ''}},
    associatedWithDeveloper: false,
    courseId: '',
    creationTime: '',
    creatorUserId: '',
    description: '',
    dueDate: {day: 0, month: 0, year: 0},
    dueTime: {hours: 0, minutes: 0, nanos: 0, seconds: 0},
    gradeCategory: {defaultGradeDenominator: 0, id: '', name: '', weight: 0},
    id: '',
    individualStudentsOptions: {studentIds: []},
    materials: [
      {
        driveFile: {
          driveFile: {alternateLink: '', id: '', thumbnailUrl: '', title: ''},
          shareMode: ''
        },
        form: {formUrl: '', responseUrl: '', thumbnailUrl: '', title: ''},
        link: {thumbnailUrl: '', title: '', url: ''},
        youtubeVideo: {alternateLink: '', id: '', thumbnailUrl: '', title: ''}
      }
    ],
    maxPoints: '',
    multipleChoiceQuestion: {choices: []},
    scheduledTime: '',
    state: '',
    submissionModificationMode: '',
    title: '',
    topicId: '',
    updateTime: '',
    workType: ''
  }
};

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

const url = '{{baseUrl}}/v1/courses/:courseId/courseWork';
const options = {
  method: 'POST',
  headers: {'content-type': 'application/json'},
  body: '{"alternateLink":"","assigneeMode":"","assignment":{"studentWorkFolder":{"alternateLink":"","id":"","title":""}},"associatedWithDeveloper":false,"courseId":"","creationTime":"","creatorUserId":"","description":"","dueDate":{"day":0,"month":0,"year":0},"dueTime":{"hours":0,"minutes":0,"nanos":0,"seconds":0},"gradeCategory":{"defaultGradeDenominator":0,"id":"","name":"","weight":0},"id":"","individualStudentsOptions":{"studentIds":[]},"materials":[{"driveFile":{"driveFile":{"alternateLink":"","id":"","thumbnailUrl":"","title":""},"shareMode":""},"form":{"formUrl":"","responseUrl":"","thumbnailUrl":"","title":""},"link":{"thumbnailUrl":"","title":"","url":""},"youtubeVideo":{"alternateLink":"","id":"","thumbnailUrl":"","title":""}}],"maxPoints":"","multipleChoiceQuestion":{"choices":[]},"scheduledTime":"","state":"","submissionModificationMode":"","title":"","topicId":"","updateTime":"","workType":""}'
};

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

NSDictionary *headers = @{ @"content-type": @"application/json" };
NSDictionary *parameters = @{ @"alternateLink": @"",
                              @"assigneeMode": @"",
                              @"assignment": @{ @"studentWorkFolder": @{ @"alternateLink": @"", @"id": @"", @"title": @"" } },
                              @"associatedWithDeveloper": @NO,
                              @"courseId": @"",
                              @"creationTime": @"",
                              @"creatorUserId": @"",
                              @"description": @"",
                              @"dueDate": @{ @"day": @0, @"month": @0, @"year": @0 },
                              @"dueTime": @{ @"hours": @0, @"minutes": @0, @"nanos": @0, @"seconds": @0 },
                              @"gradeCategory": @{ @"defaultGradeDenominator": @0, @"id": @"", @"name": @"", @"weight": @0 },
                              @"id": @"",
                              @"individualStudentsOptions": @{ @"studentIds": @[  ] },
                              @"materials": @[ @{ @"driveFile": @{ @"driveFile": @{ @"alternateLink": @"", @"id": @"", @"thumbnailUrl": @"", @"title": @"" }, @"shareMode": @"" }, @"form": @{ @"formUrl": @"", @"responseUrl": @"", @"thumbnailUrl": @"", @"title": @"" }, @"link": @{ @"thumbnailUrl": @"", @"title": @"", @"url": @"" }, @"youtubeVideo": @{ @"alternateLink": @"", @"id": @"", @"thumbnailUrl": @"", @"title": @"" } } ],
                              @"maxPoints": @"",
                              @"multipleChoiceQuestion": @{ @"choices": @[  ] },
                              @"scheduledTime": @"",
                              @"state": @"",
                              @"submissionModificationMode": @"",
                              @"title": @"",
                              @"topicId": @"",
                              @"updateTime": @"",
                              @"workType": @"" };

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

NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"{{baseUrl}}/v1/courses/:courseId/courseWork"]
                                                       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}}/v1/courses/:courseId/courseWork" in
let headers = Header.add (Header.init ()) "content-type" "application/json" in
let body = Cohttp_lwt_body.of_string "{\n  \"alternateLink\": \"\",\n  \"assigneeMode\": \"\",\n  \"assignment\": {\n    \"studentWorkFolder\": {\n      \"alternateLink\": \"\",\n      \"id\": \"\",\n      \"title\": \"\"\n    }\n  },\n  \"associatedWithDeveloper\": false,\n  \"courseId\": \"\",\n  \"creationTime\": \"\",\n  \"creatorUserId\": \"\",\n  \"description\": \"\",\n  \"dueDate\": {\n    \"day\": 0,\n    \"month\": 0,\n    \"year\": 0\n  },\n  \"dueTime\": {\n    \"hours\": 0,\n    \"minutes\": 0,\n    \"nanos\": 0,\n    \"seconds\": 0\n  },\n  \"gradeCategory\": {\n    \"defaultGradeDenominator\": 0,\n    \"id\": \"\",\n    \"name\": \"\",\n    \"weight\": 0\n  },\n  \"id\": \"\",\n  \"individualStudentsOptions\": {\n    \"studentIds\": []\n  },\n  \"materials\": [\n    {\n      \"driveFile\": {\n        \"driveFile\": {\n          \"alternateLink\": \"\",\n          \"id\": \"\",\n          \"thumbnailUrl\": \"\",\n          \"title\": \"\"\n        },\n        \"shareMode\": \"\"\n      },\n      \"form\": {\n        \"formUrl\": \"\",\n        \"responseUrl\": \"\",\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\"\n      },\n      \"link\": {\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\",\n        \"url\": \"\"\n      },\n      \"youtubeVideo\": {\n        \"alternateLink\": \"\",\n        \"id\": \"\",\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\"\n      }\n    }\n  ],\n  \"maxPoints\": \"\",\n  \"multipleChoiceQuestion\": {\n    \"choices\": []\n  },\n  \"scheduledTime\": \"\",\n  \"state\": \"\",\n  \"submissionModificationMode\": \"\",\n  \"title\": \"\",\n  \"topicId\": \"\",\n  \"updateTime\": \"\",\n  \"workType\": \"\"\n}" in

Client.call ~headers ~body `POST uri
>>= fun (res, body_stream) ->
  (* Do stuff with the result *)
 "{{baseUrl}}/v1/courses/:courseId/courseWork",
  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([
    'alternateLink' => '',
    'assigneeMode' => '',
    'assignment' => [
        'studentWorkFolder' => [
                'alternateLink' => '',
                'id' => '',
                'title' => ''
        ]
    ],
    'associatedWithDeveloper' => null,
    'courseId' => '',
    'creationTime' => '',
    'creatorUserId' => '',
    'description' => '',
    'dueDate' => [
        'day' => 0,
        'month' => 0,
        'year' => 0
    ],
    'dueTime' => [
        'hours' => 0,
        'minutes' => 0,
        'nanos' => 0,
        'seconds' => 0
    ],
    'gradeCategory' => [
        'defaultGradeDenominator' => 0,
        'id' => '',
        'name' => '',
        'weight' => 0
    ],
    'id' => '',
    'individualStudentsOptions' => [
        'studentIds' => [
                
        ]
    ],
    'materials' => [
        [
                'driveFile' => [
                                'driveFile' => [
                                                                'alternateLink' => '',
                                                                'id' => '',
                                                                'thumbnailUrl' => '',
                                                                'title' => ''
                                ],
                                'shareMode' => ''
                ],
                'form' => [
                                'formUrl' => '',
                                'responseUrl' => '',
                                'thumbnailUrl' => '',
                                'title' => ''
                ],
                'link' => [
                                'thumbnailUrl' => '',
                                'title' => '',
                                'url' => ''
                ],
                'youtubeVideo' => [
                                'alternateLink' => '',
                                'id' => '',
                                'thumbnailUrl' => '',
                                'title' => ''
                ]
        ]
    ],
    'maxPoints' => '',
    'multipleChoiceQuestion' => [
        'choices' => [
                
        ]
    ],
    'scheduledTime' => '',
    'state' => '',
    'submissionModificationMode' => '',
    'title' => '',
    'topicId' => '',
    'updateTime' => '',
    'workType' => ''
  ]),
  CURLOPT_HTTPHEADER => [
    "content-type: application/json"
  ],
]);

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

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
request('POST', '{{baseUrl}}/v1/courses/:courseId/courseWork', [
  'body' => '{
  "alternateLink": "",
  "assigneeMode": "",
  "assignment": {
    "studentWorkFolder": {
      "alternateLink": "",
      "id": "",
      "title": ""
    }
  },
  "associatedWithDeveloper": false,
  "courseId": "",
  "creationTime": "",
  "creatorUserId": "",
  "description": "",
  "dueDate": {
    "day": 0,
    "month": 0,
    "year": 0
  },
  "dueTime": {
    "hours": 0,
    "minutes": 0,
    "nanos": 0,
    "seconds": 0
  },
  "gradeCategory": {
    "defaultGradeDenominator": 0,
    "id": "",
    "name": "",
    "weight": 0
  },
  "id": "",
  "individualStudentsOptions": {
    "studentIds": []
  },
  "materials": [
    {
      "driveFile": {
        "driveFile": {
          "alternateLink": "",
          "id": "",
          "thumbnailUrl": "",
          "title": ""
        },
        "shareMode": ""
      },
      "form": {
        "formUrl": "",
        "responseUrl": "",
        "thumbnailUrl": "",
        "title": ""
      },
      "link": {
        "thumbnailUrl": "",
        "title": "",
        "url": ""
      },
      "youtubeVideo": {
        "alternateLink": "",
        "id": "",
        "thumbnailUrl": "",
        "title": ""
      }
    }
  ],
  "maxPoints": "",
  "multipleChoiceQuestion": {
    "choices": []
  },
  "scheduledTime": "",
  "state": "",
  "submissionModificationMode": "",
  "title": "",
  "topicId": "",
  "updateTime": "",
  "workType": ""
}',
  'headers' => [
    'content-type' => 'application/json',
  ],
]);

echo $response->getBody();
setUrl('{{baseUrl}}/v1/courses/:courseId/courseWork');
$request->setMethod(HTTP_METH_POST);

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

$request->setContentType('application/json');
$request->setBody(json_encode([
  'alternateLink' => '',
  'assigneeMode' => '',
  'assignment' => [
    'studentWorkFolder' => [
        'alternateLink' => '',
        'id' => '',
        'title' => ''
    ]
  ],
  'associatedWithDeveloper' => null,
  'courseId' => '',
  'creationTime' => '',
  'creatorUserId' => '',
  'description' => '',
  'dueDate' => [
    'day' => 0,
    'month' => 0,
    'year' => 0
  ],
  'dueTime' => [
    'hours' => 0,
    'minutes' => 0,
    'nanos' => 0,
    'seconds' => 0
  ],
  'gradeCategory' => [
    'defaultGradeDenominator' => 0,
    'id' => '',
    'name' => '',
    'weight' => 0
  ],
  'id' => '',
  'individualStudentsOptions' => [
    'studentIds' => [
        
    ]
  ],
  'materials' => [
    [
        'driveFile' => [
                'driveFile' => [
                                'alternateLink' => '',
                                'id' => '',
                                'thumbnailUrl' => '',
                                'title' => ''
                ],
                'shareMode' => ''
        ],
        'form' => [
                'formUrl' => '',
                'responseUrl' => '',
                'thumbnailUrl' => '',
                'title' => ''
        ],
        'link' => [
                'thumbnailUrl' => '',
                'title' => '',
                'url' => ''
        ],
        'youtubeVideo' => [
                'alternateLink' => '',
                'id' => '',
                'thumbnailUrl' => '',
                'title' => ''
        ]
    ]
  ],
  'maxPoints' => '',
  'multipleChoiceQuestion' => [
    'choices' => [
        
    ]
  ],
  'scheduledTime' => '',
  'state' => '',
  'submissionModificationMode' => '',
  'title' => '',
  'topicId' => '',
  'updateTime' => '',
  'workType' => ''
]));

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

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
append(json_encode([
  'alternateLink' => '',
  'assigneeMode' => '',
  'assignment' => [
    'studentWorkFolder' => [
        'alternateLink' => '',
        'id' => '',
        'title' => ''
    ]
  ],
  'associatedWithDeveloper' => null,
  'courseId' => '',
  'creationTime' => '',
  'creatorUserId' => '',
  'description' => '',
  'dueDate' => [
    'day' => 0,
    'month' => 0,
    'year' => 0
  ],
  'dueTime' => [
    'hours' => 0,
    'minutes' => 0,
    'nanos' => 0,
    'seconds' => 0
  ],
  'gradeCategory' => [
    'defaultGradeDenominator' => 0,
    'id' => '',
    'name' => '',
    'weight' => 0
  ],
  'id' => '',
  'individualStudentsOptions' => [
    'studentIds' => [
        
    ]
  ],
  'materials' => [
    [
        'driveFile' => [
                'driveFile' => [
                                'alternateLink' => '',
                                'id' => '',
                                'thumbnailUrl' => '',
                                'title' => ''
                ],
                'shareMode' => ''
        ],
        'form' => [
                'formUrl' => '',
                'responseUrl' => '',
                'thumbnailUrl' => '',
                'title' => ''
        ],
        'link' => [
                'thumbnailUrl' => '',
                'title' => '',
                'url' => ''
        ],
        'youtubeVideo' => [
                'alternateLink' => '',
                'id' => '',
                'thumbnailUrl' => '',
                'title' => ''
        ]
    ]
  ],
  'maxPoints' => '',
  'multipleChoiceQuestion' => [
    'choices' => [
        
    ]
  ],
  'scheduledTime' => '',
  'state' => '',
  'submissionModificationMode' => '',
  'title' => '',
  'topicId' => '',
  'updateTime' => '',
  'workType' => ''
]));
$request->setRequestUrl('{{baseUrl}}/v1/courses/:courseId/courseWork');
$request->setRequestMethod('POST');
$request->setBody($body);

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

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

echo $response->getBody();
$headers=@{}
$headers.Add("content-type", "application/json")
$response = Invoke-WebRequest -Uri '{{baseUrl}}/v1/courses/:courseId/courseWork' -Method POST -Headers $headers -ContentType 'application/json' -Body '{
  "alternateLink": "",
  "assigneeMode": "",
  "assignment": {
    "studentWorkFolder": {
      "alternateLink": "",
      "id": "",
      "title": ""
    }
  },
  "associatedWithDeveloper": false,
  "courseId": "",
  "creationTime": "",
  "creatorUserId": "",
  "description": "",
  "dueDate": {
    "day": 0,
    "month": 0,
    "year": 0
  },
  "dueTime": {
    "hours": 0,
    "minutes": 0,
    "nanos": 0,
    "seconds": 0
  },
  "gradeCategory": {
    "defaultGradeDenominator": 0,
    "id": "",
    "name": "",
    "weight": 0
  },
  "id": "",
  "individualStudentsOptions": {
    "studentIds": []
  },
  "materials": [
    {
      "driveFile": {
        "driveFile": {
          "alternateLink": "",
          "id": "",
          "thumbnailUrl": "",
          "title": ""
        },
        "shareMode": ""
      },
      "form": {
        "formUrl": "",
        "responseUrl": "",
        "thumbnailUrl": "",
        "title": ""
      },
      "link": {
        "thumbnailUrl": "",
        "title": "",
        "url": ""
      },
      "youtubeVideo": {
        "alternateLink": "",
        "id": "",
        "thumbnailUrl": "",
        "title": ""
      }
    }
  ],
  "maxPoints": "",
  "multipleChoiceQuestion": {
    "choices": []
  },
  "scheduledTime": "",
  "state": "",
  "submissionModificationMode": "",
  "title": "",
  "topicId": "",
  "updateTime": "",
  "workType": ""
}'
$headers=@{}
$headers.Add("content-type", "application/json")
$response = Invoke-RestMethod -Uri '{{baseUrl}}/v1/courses/:courseId/courseWork' -Method POST -Headers $headers -ContentType 'application/json' -Body '{
  "alternateLink": "",
  "assigneeMode": "",
  "assignment": {
    "studentWorkFolder": {
      "alternateLink": "",
      "id": "",
      "title": ""
    }
  },
  "associatedWithDeveloper": false,
  "courseId": "",
  "creationTime": "",
  "creatorUserId": "",
  "description": "",
  "dueDate": {
    "day": 0,
    "month": 0,
    "year": 0
  },
  "dueTime": {
    "hours": 0,
    "minutes": 0,
    "nanos": 0,
    "seconds": 0
  },
  "gradeCategory": {
    "defaultGradeDenominator": 0,
    "id": "",
    "name": "",
    "weight": 0
  },
  "id": "",
  "individualStudentsOptions": {
    "studentIds": []
  },
  "materials": [
    {
      "driveFile": {
        "driveFile": {
          "alternateLink": "",
          "id": "",
          "thumbnailUrl": "",
          "title": ""
        },
        "shareMode": ""
      },
      "form": {
        "formUrl": "",
        "responseUrl": "",
        "thumbnailUrl": "",
        "title": ""
      },
      "link": {
        "thumbnailUrl": "",
        "title": "",
        "url": ""
      },
      "youtubeVideo": {
        "alternateLink": "",
        "id": "",
        "thumbnailUrl": "",
        "title": ""
      }
    }
  ],
  "maxPoints": "",
  "multipleChoiceQuestion": {
    "choices": []
  },
  "scheduledTime": "",
  "state": "",
  "submissionModificationMode": "",
  "title": "",
  "topicId": "",
  "updateTime": "",
  "workType": ""
}'
import http.client

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

payload = "{\n  \"alternateLink\": \"\",\n  \"assigneeMode\": \"\",\n  \"assignment\": {\n    \"studentWorkFolder\": {\n      \"alternateLink\": \"\",\n      \"id\": \"\",\n      \"title\": \"\"\n    }\n  },\n  \"associatedWithDeveloper\": false,\n  \"courseId\": \"\",\n  \"creationTime\": \"\",\n  \"creatorUserId\": \"\",\n  \"description\": \"\",\n  \"dueDate\": {\n    \"day\": 0,\n    \"month\": 0,\n    \"year\": 0\n  },\n  \"dueTime\": {\n    \"hours\": 0,\n    \"minutes\": 0,\n    \"nanos\": 0,\n    \"seconds\": 0\n  },\n  \"gradeCategory\": {\n    \"defaultGradeDenominator\": 0,\n    \"id\": \"\",\n    \"name\": \"\",\n    \"weight\": 0\n  },\n  \"id\": \"\",\n  \"individualStudentsOptions\": {\n    \"studentIds\": []\n  },\n  \"materials\": [\n    {\n      \"driveFile\": {\n        \"driveFile\": {\n          \"alternateLink\": \"\",\n          \"id\": \"\",\n          \"thumbnailUrl\": \"\",\n          \"title\": \"\"\n        },\n        \"shareMode\": \"\"\n      },\n      \"form\": {\n        \"formUrl\": \"\",\n        \"responseUrl\": \"\",\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\"\n      },\n      \"link\": {\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\",\n        \"url\": \"\"\n      },\n      \"youtubeVideo\": {\n        \"alternateLink\": \"\",\n        \"id\": \"\",\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\"\n      }\n    }\n  ],\n  \"maxPoints\": \"\",\n  \"multipleChoiceQuestion\": {\n    \"choices\": []\n  },\n  \"scheduledTime\": \"\",\n  \"state\": \"\",\n  \"submissionModificationMode\": \"\",\n  \"title\": \"\",\n  \"topicId\": \"\",\n  \"updateTime\": \"\",\n  \"workType\": \"\"\n}"

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

conn.request("POST", "/baseUrl/v1/courses/:courseId/courseWork", payload, headers)

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

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

url = "{{baseUrl}}/v1/courses/:courseId/courseWork"

payload = {
    "alternateLink": "",
    "assigneeMode": "",
    "assignment": { "studentWorkFolder": {
            "alternateLink": "",
            "id": "",
            "title": ""
        } },
    "associatedWithDeveloper": False,
    "courseId": "",
    "creationTime": "",
    "creatorUserId": "",
    "description": "",
    "dueDate": {
        "day": 0,
        "month": 0,
        "year": 0
    },
    "dueTime": {
        "hours": 0,
        "minutes": 0,
        "nanos": 0,
        "seconds": 0
    },
    "gradeCategory": {
        "defaultGradeDenominator": 0,
        "id": "",
        "name": "",
        "weight": 0
    },
    "id": "",
    "individualStudentsOptions": { "studentIds": [] },
    "materials": [
        {
            "driveFile": {
                "driveFile": {
                    "alternateLink": "",
                    "id": "",
                    "thumbnailUrl": "",
                    "title": ""
                },
                "shareMode": ""
            },
            "form": {
                "formUrl": "",
                "responseUrl": "",
                "thumbnailUrl": "",
                "title": ""
            },
            "link": {
                "thumbnailUrl": "",
                "title": "",
                "url": ""
            },
            "youtubeVideo": {
                "alternateLink": "",
                "id": "",
                "thumbnailUrl": "",
                "title": ""
            }
        }
    ],
    "maxPoints": "",
    "multipleChoiceQuestion": { "choices": [] },
    "scheduledTime": "",
    "state": "",
    "submissionModificationMode": "",
    "title": "",
    "topicId": "",
    "updateTime": "",
    "workType": ""
}
headers = {"content-type": "application/json"}

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

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

url <- "{{baseUrl}}/v1/courses/:courseId/courseWork"

payload <- "{\n  \"alternateLink\": \"\",\n  \"assigneeMode\": \"\",\n  \"assignment\": {\n    \"studentWorkFolder\": {\n      \"alternateLink\": \"\",\n      \"id\": \"\",\n      \"title\": \"\"\n    }\n  },\n  \"associatedWithDeveloper\": false,\n  \"courseId\": \"\",\n  \"creationTime\": \"\",\n  \"creatorUserId\": \"\",\n  \"description\": \"\",\n  \"dueDate\": {\n    \"day\": 0,\n    \"month\": 0,\n    \"year\": 0\n  },\n  \"dueTime\": {\n    \"hours\": 0,\n    \"minutes\": 0,\n    \"nanos\": 0,\n    \"seconds\": 0\n  },\n  \"gradeCategory\": {\n    \"defaultGradeDenominator\": 0,\n    \"id\": \"\",\n    \"name\": \"\",\n    \"weight\": 0\n  },\n  \"id\": \"\",\n  \"individualStudentsOptions\": {\n    \"studentIds\": []\n  },\n  \"materials\": [\n    {\n      \"driveFile\": {\n        \"driveFile\": {\n          \"alternateLink\": \"\",\n          \"id\": \"\",\n          \"thumbnailUrl\": \"\",\n          \"title\": \"\"\n        },\n        \"shareMode\": \"\"\n      },\n      \"form\": {\n        \"formUrl\": \"\",\n        \"responseUrl\": \"\",\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\"\n      },\n      \"link\": {\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\",\n        \"url\": \"\"\n      },\n      \"youtubeVideo\": {\n        \"alternateLink\": \"\",\n        \"id\": \"\",\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\"\n      }\n    }\n  ],\n  \"maxPoints\": \"\",\n  \"multipleChoiceQuestion\": {\n    \"choices\": []\n  },\n  \"scheduledTime\": \"\",\n  \"state\": \"\",\n  \"submissionModificationMode\": \"\",\n  \"title\": \"\",\n  \"topicId\": \"\",\n  \"updateTime\": \"\",\n  \"workType\": \"\"\n}"

encode <- "json"

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

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

url = URI("{{baseUrl}}/v1/courses/:courseId/courseWork")

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

request = Net::HTTP::Post.new(url)
request["content-type"] = 'application/json'
request.body = "{\n  \"alternateLink\": \"\",\n  \"assigneeMode\": \"\",\n  \"assignment\": {\n    \"studentWorkFolder\": {\n      \"alternateLink\": \"\",\n      \"id\": \"\",\n      \"title\": \"\"\n    }\n  },\n  \"associatedWithDeveloper\": false,\n  \"courseId\": \"\",\n  \"creationTime\": \"\",\n  \"creatorUserId\": \"\",\n  \"description\": \"\",\n  \"dueDate\": {\n    \"day\": 0,\n    \"month\": 0,\n    \"year\": 0\n  },\n  \"dueTime\": {\n    \"hours\": 0,\n    \"minutes\": 0,\n    \"nanos\": 0,\n    \"seconds\": 0\n  },\n  \"gradeCategory\": {\n    \"defaultGradeDenominator\": 0,\n    \"id\": \"\",\n    \"name\": \"\",\n    \"weight\": 0\n  },\n  \"id\": \"\",\n  \"individualStudentsOptions\": {\n    \"studentIds\": []\n  },\n  \"materials\": [\n    {\n      \"driveFile\": {\n        \"driveFile\": {\n          \"alternateLink\": \"\",\n          \"id\": \"\",\n          \"thumbnailUrl\": \"\",\n          \"title\": \"\"\n        },\n        \"shareMode\": \"\"\n      },\n      \"form\": {\n        \"formUrl\": \"\",\n        \"responseUrl\": \"\",\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\"\n      },\n      \"link\": {\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\",\n        \"url\": \"\"\n      },\n      \"youtubeVideo\": {\n        \"alternateLink\": \"\",\n        \"id\": \"\",\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\"\n      }\n    }\n  ],\n  \"maxPoints\": \"\",\n  \"multipleChoiceQuestion\": {\n    \"choices\": []\n  },\n  \"scheduledTime\": \"\",\n  \"state\": \"\",\n  \"submissionModificationMode\": \"\",\n  \"title\": \"\",\n  \"topicId\": \"\",\n  \"updateTime\": \"\",\n  \"workType\": \"\"\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/v1/courses/:courseId/courseWork') do |req|
  req.body = "{\n  \"alternateLink\": \"\",\n  \"assigneeMode\": \"\",\n  \"assignment\": {\n    \"studentWorkFolder\": {\n      \"alternateLink\": \"\",\n      \"id\": \"\",\n      \"title\": \"\"\n    }\n  },\n  \"associatedWithDeveloper\": false,\n  \"courseId\": \"\",\n  \"creationTime\": \"\",\n  \"creatorUserId\": \"\",\n  \"description\": \"\",\n  \"dueDate\": {\n    \"day\": 0,\n    \"month\": 0,\n    \"year\": 0\n  },\n  \"dueTime\": {\n    \"hours\": 0,\n    \"minutes\": 0,\n    \"nanos\": 0,\n    \"seconds\": 0\n  },\n  \"gradeCategory\": {\n    \"defaultGradeDenominator\": 0,\n    \"id\": \"\",\n    \"name\": \"\",\n    \"weight\": 0\n  },\n  \"id\": \"\",\n  \"individualStudentsOptions\": {\n    \"studentIds\": []\n  },\n  \"materials\": [\n    {\n      \"driveFile\": {\n        \"driveFile\": {\n          \"alternateLink\": \"\",\n          \"id\": \"\",\n          \"thumbnailUrl\": \"\",\n          \"title\": \"\"\n        },\n        \"shareMode\": \"\"\n      },\n      \"form\": {\n        \"formUrl\": \"\",\n        \"responseUrl\": \"\",\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\"\n      },\n      \"link\": {\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\",\n        \"url\": \"\"\n      },\n      \"youtubeVideo\": {\n        \"alternateLink\": \"\",\n        \"id\": \"\",\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\"\n      }\n    }\n  ],\n  \"maxPoints\": \"\",\n  \"multipleChoiceQuestion\": {\n    \"choices\": []\n  },\n  \"scheduledTime\": \"\",\n  \"state\": \"\",\n  \"submissionModificationMode\": \"\",\n  \"title\": \"\",\n  \"topicId\": \"\",\n  \"updateTime\": \"\",\n  \"workType\": \"\"\n}"
end

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

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

    let payload = json!({
        "alternateLink": "",
        "assigneeMode": "",
        "assignment": json!({"studentWorkFolder": json!({
                "alternateLink": "",
                "id": "",
                "title": ""
            })}),
        "associatedWithDeveloper": false,
        "courseId": "",
        "creationTime": "",
        "creatorUserId": "",
        "description": "",
        "dueDate": json!({
            "day": 0,
            "month": 0,
            "year": 0
        }),
        "dueTime": json!({
            "hours": 0,
            "minutes": 0,
            "nanos": 0,
            "seconds": 0
        }),
        "gradeCategory": json!({
            "defaultGradeDenominator": 0,
            "id": "",
            "name": "",
            "weight": 0
        }),
        "id": "",
        "individualStudentsOptions": json!({"studentIds": ()}),
        "materials": (
            json!({
                "driveFile": json!({
                    "driveFile": json!({
                        "alternateLink": "",
                        "id": "",
                        "thumbnailUrl": "",
                        "title": ""
                    }),
                    "shareMode": ""
                }),
                "form": json!({
                    "formUrl": "",
                    "responseUrl": "",
                    "thumbnailUrl": "",
                    "title": ""
                }),
                "link": json!({
                    "thumbnailUrl": "",
                    "title": "",
                    "url": ""
                }),
                "youtubeVideo": json!({
                    "alternateLink": "",
                    "id": "",
                    "thumbnailUrl": "",
                    "title": ""
                })
            })
        ),
        "maxPoints": "",
        "multipleChoiceQuestion": json!({"choices": ()}),
        "scheduledTime": "",
        "state": "",
        "submissionModificationMode": "",
        "title": "",
        "topicId": "",
        "updateTime": "",
        "workType": ""
    });

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

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

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

    dbg!(results);
}
curl --request POST \
  --url {{baseUrl}}/v1/courses/:courseId/courseWork \
  --header 'content-type: application/json' \
  --data '{
  "alternateLink": "",
  "assigneeMode": "",
  "assignment": {
    "studentWorkFolder": {
      "alternateLink": "",
      "id": "",
      "title": ""
    }
  },
  "associatedWithDeveloper": false,
  "courseId": "",
  "creationTime": "",
  "creatorUserId": "",
  "description": "",
  "dueDate": {
    "day": 0,
    "month": 0,
    "year": 0
  },
  "dueTime": {
    "hours": 0,
    "minutes": 0,
    "nanos": 0,
    "seconds": 0
  },
  "gradeCategory": {
    "defaultGradeDenominator": 0,
    "id": "",
    "name": "",
    "weight": 0
  },
  "id": "",
  "individualStudentsOptions": {
    "studentIds": []
  },
  "materials": [
    {
      "driveFile": {
        "driveFile": {
          "alternateLink": "",
          "id": "",
          "thumbnailUrl": "",
          "title": ""
        },
        "shareMode": ""
      },
      "form": {
        "formUrl": "",
        "responseUrl": "",
        "thumbnailUrl": "",
        "title": ""
      },
      "link": {
        "thumbnailUrl": "",
        "title": "",
        "url": ""
      },
      "youtubeVideo": {
        "alternateLink": "",
        "id": "",
        "thumbnailUrl": "",
        "title": ""
      }
    }
  ],
  "maxPoints": "",
  "multipleChoiceQuestion": {
    "choices": []
  },
  "scheduledTime": "",
  "state": "",
  "submissionModificationMode": "",
  "title": "",
  "topicId": "",
  "updateTime": "",
  "workType": ""
}'
echo '{
  "alternateLink": "",
  "assigneeMode": "",
  "assignment": {
    "studentWorkFolder": {
      "alternateLink": "",
      "id": "",
      "title": ""
    }
  },
  "associatedWithDeveloper": false,
  "courseId": "",
  "creationTime": "",
  "creatorUserId": "",
  "description": "",
  "dueDate": {
    "day": 0,
    "month": 0,
    "year": 0
  },
  "dueTime": {
    "hours": 0,
    "minutes": 0,
    "nanos": 0,
    "seconds": 0
  },
  "gradeCategory": {
    "defaultGradeDenominator": 0,
    "id": "",
    "name": "",
    "weight": 0
  },
  "id": "",
  "individualStudentsOptions": {
    "studentIds": []
  },
  "materials": [
    {
      "driveFile": {
        "driveFile": {
          "alternateLink": "",
          "id": "",
          "thumbnailUrl": "",
          "title": ""
        },
        "shareMode": ""
      },
      "form": {
        "formUrl": "",
        "responseUrl": "",
        "thumbnailUrl": "",
        "title": ""
      },
      "link": {
        "thumbnailUrl": "",
        "title": "",
        "url": ""
      },
      "youtubeVideo": {
        "alternateLink": "",
        "id": "",
        "thumbnailUrl": "",
        "title": ""
      }
    }
  ],
  "maxPoints": "",
  "multipleChoiceQuestion": {
    "choices": []
  },
  "scheduledTime": "",
  "state": "",
  "submissionModificationMode": "",
  "title": "",
  "topicId": "",
  "updateTime": "",
  "workType": ""
}' |  \
  http POST {{baseUrl}}/v1/courses/:courseId/courseWork \
  content-type:application/json
wget --quiet \
  --method POST \
  --header 'content-type: application/json' \
  --body-data '{\n  "alternateLink": "",\n  "assigneeMode": "",\n  "assignment": {\n    "studentWorkFolder": {\n      "alternateLink": "",\n      "id": "",\n      "title": ""\n    }\n  },\n  "associatedWithDeveloper": false,\n  "courseId": "",\n  "creationTime": "",\n  "creatorUserId": "",\n  "description": "",\n  "dueDate": {\n    "day": 0,\n    "month": 0,\n    "year": 0\n  },\n  "dueTime": {\n    "hours": 0,\n    "minutes": 0,\n    "nanos": 0,\n    "seconds": 0\n  },\n  "gradeCategory": {\n    "defaultGradeDenominator": 0,\n    "id": "",\n    "name": "",\n    "weight": 0\n  },\n  "id": "",\n  "individualStudentsOptions": {\n    "studentIds": []\n  },\n  "materials": [\n    {\n      "driveFile": {\n        "driveFile": {\n          "alternateLink": "",\n          "id": "",\n          "thumbnailUrl": "",\n          "title": ""\n        },\n        "shareMode": ""\n      },\n      "form": {\n        "formUrl": "",\n        "responseUrl": "",\n        "thumbnailUrl": "",\n        "title": ""\n      },\n      "link": {\n        "thumbnailUrl": "",\n        "title": "",\n        "url": ""\n      },\n      "youtubeVideo": {\n        "alternateLink": "",\n        "id": "",\n        "thumbnailUrl": "",\n        "title": ""\n      }\n    }\n  ],\n  "maxPoints": "",\n  "multipleChoiceQuestion": {\n    "choices": []\n  },\n  "scheduledTime": "",\n  "state": "",\n  "submissionModificationMode": "",\n  "title": "",\n  "topicId": "",\n  "updateTime": "",\n  "workType": ""\n}' \
  --output-document \
  - {{baseUrl}}/v1/courses/:courseId/courseWork
import Foundation

let headers = ["content-type": "application/json"]
let parameters = [
  "alternateLink": "",
  "assigneeMode": "",
  "assignment": ["studentWorkFolder": [
      "alternateLink": "",
      "id": "",
      "title": ""
    ]],
  "associatedWithDeveloper": false,
  "courseId": "",
  "creationTime": "",
  "creatorUserId": "",
  "description": "",
  "dueDate": [
    "day": 0,
    "month": 0,
    "year": 0
  ],
  "dueTime": [
    "hours": 0,
    "minutes": 0,
    "nanos": 0,
    "seconds": 0
  ],
  "gradeCategory": [
    "defaultGradeDenominator": 0,
    "id": "",
    "name": "",
    "weight": 0
  ],
  "id": "",
  "individualStudentsOptions": ["studentIds": []],
  "materials": [
    [
      "driveFile": [
        "driveFile": [
          "alternateLink": "",
          "id": "",
          "thumbnailUrl": "",
          "title": ""
        ],
        "shareMode": ""
      ],
      "form": [
        "formUrl": "",
        "responseUrl": "",
        "thumbnailUrl": "",
        "title": ""
      ],
      "link": [
        "thumbnailUrl": "",
        "title": "",
        "url": ""
      ],
      "youtubeVideo": [
        "alternateLink": "",
        "id": "",
        "thumbnailUrl": "",
        "title": ""
      ]
    ]
  ],
  "maxPoints": "",
  "multipleChoiceQuestion": ["choices": []],
  "scheduledTime": "",
  "state": "",
  "submissionModificationMode": "",
  "title": "",
  "topicId": "",
  "updateTime": "",
  "workType": ""
] as [String : Any]

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

let request = NSMutableURLRequest(url: NSURL(string: "{{baseUrl}}/v1/courses/:courseId/courseWork")! 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()
DELETE classroom.courses.courseWork.delete
{{baseUrl}}/v1/courses/:courseId/courseWork/:id
QUERY PARAMS

courseId
id
Examples
REQUEST

CURL *hnd = curl_easy_init();

curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "DELETE");
curl_easy_setopt(hnd, CURLOPT_URL, "{{baseUrl}}/v1/courses/:courseId/courseWork/:id");

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

(client/delete "{{baseUrl}}/v1/courses/:courseId/courseWork/:id")
require "http/client"

url = "{{baseUrl}}/v1/courses/:courseId/courseWork/:id"

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

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

func main() {

	url := "{{baseUrl}}/v1/courses/:courseId/courseWork/:id"

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

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

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

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

}
DELETE /baseUrl/v1/courses/:courseId/courseWork/:id HTTP/1.1
Host: example.com

AsyncHttpClient client = new DefaultAsyncHttpClient();
client.prepare("DELETE", "{{baseUrl}}/v1/courses/:courseId/courseWork/:id")
  .execute()
  .toCompletableFuture()
  .thenAccept(System.out::println)
  .join();

client.close();
HttpRequest request = HttpRequest.newBuilder()
    .uri(URI.create("{{baseUrl}}/v1/courses/:courseId/courseWork/:id"))
    .method("DELETE", 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}}/v1/courses/:courseId/courseWork/:id")
  .delete(null)
  .build();

Response response = client.newCall(request).execute();
HttpResponse response = Unirest.delete("{{baseUrl}}/v1/courses/:courseId/courseWork/:id")
  .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('DELETE', '{{baseUrl}}/v1/courses/:courseId/courseWork/:id');

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

const options = {
  method: 'DELETE',
  url: '{{baseUrl}}/v1/courses/:courseId/courseWork/:id'
};

try {
  const { data } = await axios.request(options);
  console.log(data);
} catch (error) {
  console.error(error);
}
const url = '{{baseUrl}}/v1/courses/:courseId/courseWork/:id';
const options = {method: 'DELETE'};

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}}/v1/courses/:courseId/courseWork/:id',
  method: 'DELETE',
  headers: {}
};

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

val request = Request.Builder()
  .url("{{baseUrl}}/v1/courses/:courseId/courseWork/:id")
  .delete(null)
  .build()

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

const options = {
  method: 'DELETE',
  hostname: 'example.com',
  port: null,
  path: '/baseUrl/v1/courses/:courseId/courseWork/:id',
  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: 'DELETE',
  url: '{{baseUrl}}/v1/courses/:courseId/courseWork/:id'
};

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

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

const req = unirest('DELETE', '{{baseUrl}}/v1/courses/:courseId/courseWork/:id');

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

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

const options = {
  method: 'DELETE',
  url: '{{baseUrl}}/v1/courses/:courseId/courseWork/:id'
};

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

const url = '{{baseUrl}}/v1/courses/:courseId/courseWork/:id';
const options = {method: 'DELETE'};

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}}/v1/courses/:courseId/courseWork/:id"]
                                                       cachePolicy:NSURLRequestUseProtocolCachePolicy
                                                   timeoutInterval:10.0];
[request setHTTPMethod:@"DELETE"];

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}}/v1/courses/:courseId/courseWork/:id" in

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

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

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
request('DELETE', '{{baseUrl}}/v1/courses/:courseId/courseWork/:id');

echo $response->getBody();
setUrl('{{baseUrl}}/v1/courses/:courseId/courseWork/:id');
$request->setMethod(HTTP_METH_DELETE);

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

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
setRequestUrl('{{baseUrl}}/v1/courses/:courseId/courseWork/:id');
$request->setRequestMethod('DELETE');
$client->enqueue($request)->send();
$response = $client->getResponse();

echo $response->getBody();
$response = Invoke-WebRequest -Uri '{{baseUrl}}/v1/courses/:courseId/courseWork/:id' -Method DELETE 
$response = Invoke-RestMethod -Uri '{{baseUrl}}/v1/courses/:courseId/courseWork/:id' -Method DELETE 
import http.client

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

conn.request("DELETE", "/baseUrl/v1/courses/:courseId/courseWork/:id")

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

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

url = "{{baseUrl}}/v1/courses/:courseId/courseWork/:id"

response = requests.delete(url)

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

url <- "{{baseUrl}}/v1/courses/:courseId/courseWork/:id"

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

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

url = URI("{{baseUrl}}/v1/courses/:courseId/courseWork/:id")

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

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

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

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

response = conn.delete('/baseUrl/v1/courses/:courseId/courseWork/:id') do |req|
end

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

#[tokio::main]
pub async fn main() {
    let url = "{{baseUrl}}/v1/courses/:courseId/courseWork/:id";

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

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

    dbg!(results);
}
curl --request DELETE \
  --url {{baseUrl}}/v1/courses/:courseId/courseWork/:id
http DELETE {{baseUrl}}/v1/courses/:courseId/courseWork/:id
wget --quiet \
  --method DELETE \
  --output-document \
  - {{baseUrl}}/v1/courses/:courseId/courseWork/:id
import Foundation

let request = NSMutableURLRequest(url: NSURL(string: "{{baseUrl}}/v1/courses/:courseId/courseWork/:id")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "DELETE"

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 classroom.courses.courseWork.get
{{baseUrl}}/v1/courses/:courseId/courseWork/:id
QUERY PARAMS

courseId
id
Examples
REQUEST

CURL *hnd = curl_easy_init();

curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET");
curl_easy_setopt(hnd, CURLOPT_URL, "{{baseUrl}}/v1/courses/:courseId/courseWork/:id");

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

(client/get "{{baseUrl}}/v1/courses/:courseId/courseWork/:id")
require "http/client"

url = "{{baseUrl}}/v1/courses/:courseId/courseWork/:id"

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

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

func main() {

	url := "{{baseUrl}}/v1/courses/:courseId/courseWork/:id"

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

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

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

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

}
GET /baseUrl/v1/courses/:courseId/courseWork/:id HTTP/1.1
Host: example.com

AsyncHttpClient client = new DefaultAsyncHttpClient();
client.prepare("GET", "{{baseUrl}}/v1/courses/:courseId/courseWork/:id")
  .execute()
  .toCompletableFuture()
  .thenAccept(System.out::println)
  .join();

client.close();
HttpRequest request = HttpRequest.newBuilder()
    .uri(URI.create("{{baseUrl}}/v1/courses/:courseId/courseWork/:id"))
    .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}}/v1/courses/:courseId/courseWork/:id")
  .get()
  .build();

Response response = client.newCall(request).execute();
HttpResponse response = Unirest.get("{{baseUrl}}/v1/courses/:courseId/courseWork/:id")
  .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}}/v1/courses/:courseId/courseWork/:id');

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

const options = {
  method: 'GET',
  url: '{{baseUrl}}/v1/courses/:courseId/courseWork/:id'
};

try {
  const { data } = await axios.request(options);
  console.log(data);
} catch (error) {
  console.error(error);
}
const url = '{{baseUrl}}/v1/courses/:courseId/courseWork/:id';
const options = {method: 'GET'};

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

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

val request = Request.Builder()
  .url("{{baseUrl}}/v1/courses/:courseId/courseWork/:id")
  .get()
  .build()

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

const options = {
  method: 'GET',
  hostname: 'example.com',
  port: null,
  path: '/baseUrl/v1/courses/:courseId/courseWork/:id',
  headers: {}
};

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

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

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

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

const options = {
  method: 'GET',
  url: '{{baseUrl}}/v1/courses/:courseId/courseWork/:id'
};

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

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

const req = unirest('GET', '{{baseUrl}}/v1/courses/:courseId/courseWork/:id');

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}}/v1/courses/:courseId/courseWork/:id'
};

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

const url = '{{baseUrl}}/v1/courses/:courseId/courseWork/:id';
const options = {method: 'GET'};

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

NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"{{baseUrl}}/v1/courses/:courseId/courseWork/:id"]
                                                       cachePolicy:NSURLRequestUseProtocolCachePolicy
                                                   timeoutInterval:10.0];
[request setHTTPMethod:@"GET"];

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

let uri = Uri.of_string "{{baseUrl}}/v1/courses/:courseId/courseWork/:id" in

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

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

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
request('GET', '{{baseUrl}}/v1/courses/:courseId/courseWork/:id');

echo $response->getBody();
setUrl('{{baseUrl}}/v1/courses/:courseId/courseWork/:id');
$request->setMethod(HTTP_METH_GET);

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

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
setRequestUrl('{{baseUrl}}/v1/courses/:courseId/courseWork/:id');
$request->setRequestMethod('GET');
$client->enqueue($request)->send();
$response = $client->getResponse();

echo $response->getBody();
$response = Invoke-WebRequest -Uri '{{baseUrl}}/v1/courses/:courseId/courseWork/:id' -Method GET 
$response = Invoke-RestMethod -Uri '{{baseUrl}}/v1/courses/:courseId/courseWork/:id' -Method GET 
import http.client

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

conn.request("GET", "/baseUrl/v1/courses/:courseId/courseWork/:id")

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

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

url = "{{baseUrl}}/v1/courses/:courseId/courseWork/:id"

response = requests.get(url)

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

url <- "{{baseUrl}}/v1/courses/:courseId/courseWork/:id"

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

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

url = URI("{{baseUrl}}/v1/courses/:courseId/courseWork/:id")

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

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

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

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

response = conn.get('/baseUrl/v1/courses/:courseId/courseWork/:id') do |req|
end

puts response.status
puts response.body
use reqwest;

#[tokio::main]
pub async fn main() {
    let url = "{{baseUrl}}/v1/courses/:courseId/courseWork/:id";

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

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

    dbg!(results);
}
curl --request GET \
  --url {{baseUrl}}/v1/courses/:courseId/courseWork/:id
http GET {{baseUrl}}/v1/courses/:courseId/courseWork/:id
wget --quiet \
  --method GET \
  --output-document \
  - {{baseUrl}}/v1/courses/:courseId/courseWork/:id
import Foundation

let request = NSMutableURLRequest(url: NSURL(string: "{{baseUrl}}/v1/courses/:courseId/courseWork/:id")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"

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

dataTask.resume()
GET classroom.courses.courseWork.list
{{baseUrl}}/v1/courses/:courseId/courseWork
QUERY PARAMS

courseId
Examples
REQUEST

CURL *hnd = curl_easy_init();

curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET");
curl_easy_setopt(hnd, CURLOPT_URL, "{{baseUrl}}/v1/courses/:courseId/courseWork");

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

(client/get "{{baseUrl}}/v1/courses/:courseId/courseWork")
require "http/client"

url = "{{baseUrl}}/v1/courses/:courseId/courseWork"

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

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

func main() {

	url := "{{baseUrl}}/v1/courses/:courseId/courseWork"

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

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

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

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

}
GET /baseUrl/v1/courses/:courseId/courseWork HTTP/1.1
Host: example.com

AsyncHttpClient client = new DefaultAsyncHttpClient();
client.prepare("GET", "{{baseUrl}}/v1/courses/:courseId/courseWork")
  .execute()
  .toCompletableFuture()
  .thenAccept(System.out::println)
  .join();

client.close();
HttpRequest request = HttpRequest.newBuilder()
    .uri(URI.create("{{baseUrl}}/v1/courses/:courseId/courseWork"))
    .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}}/v1/courses/:courseId/courseWork")
  .get()
  .build();

Response response = client.newCall(request).execute();
HttpResponse response = Unirest.get("{{baseUrl}}/v1/courses/:courseId/courseWork")
  .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}}/v1/courses/:courseId/courseWork');

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

const options = {
  method: 'GET',
  url: '{{baseUrl}}/v1/courses/:courseId/courseWork'
};

try {
  const { data } = await axios.request(options);
  console.log(data);
} catch (error) {
  console.error(error);
}
const url = '{{baseUrl}}/v1/courses/:courseId/courseWork';
const options = {method: 'GET'};

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

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

val request = Request.Builder()
  .url("{{baseUrl}}/v1/courses/:courseId/courseWork")
  .get()
  .build()

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

const options = {
  method: 'GET',
  hostname: 'example.com',
  port: null,
  path: '/baseUrl/v1/courses/:courseId/courseWork',
  headers: {}
};

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

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

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

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

const options = {
  method: 'GET',
  url: '{{baseUrl}}/v1/courses/:courseId/courseWork'
};

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

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

const req = unirest('GET', '{{baseUrl}}/v1/courses/:courseId/courseWork');

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}}/v1/courses/:courseId/courseWork'
};

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

const url = '{{baseUrl}}/v1/courses/:courseId/courseWork';
const options = {method: 'GET'};

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

NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"{{baseUrl}}/v1/courses/:courseId/courseWork"]
                                                       cachePolicy:NSURLRequestUseProtocolCachePolicy
                                                   timeoutInterval:10.0];
[request setHTTPMethod:@"GET"];

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

let uri = Uri.of_string "{{baseUrl}}/v1/courses/:courseId/courseWork" in

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

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

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
request('GET', '{{baseUrl}}/v1/courses/:courseId/courseWork');

echo $response->getBody();
setUrl('{{baseUrl}}/v1/courses/:courseId/courseWork');
$request->setMethod(HTTP_METH_GET);

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

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
setRequestUrl('{{baseUrl}}/v1/courses/:courseId/courseWork');
$request->setRequestMethod('GET');
$client->enqueue($request)->send();
$response = $client->getResponse();

echo $response->getBody();
$response = Invoke-WebRequest -Uri '{{baseUrl}}/v1/courses/:courseId/courseWork' -Method GET 
$response = Invoke-RestMethod -Uri '{{baseUrl}}/v1/courses/:courseId/courseWork' -Method GET 
import http.client

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

conn.request("GET", "/baseUrl/v1/courses/:courseId/courseWork")

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

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

url = "{{baseUrl}}/v1/courses/:courseId/courseWork"

response = requests.get(url)

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

url <- "{{baseUrl}}/v1/courses/:courseId/courseWork"

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

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

url = URI("{{baseUrl}}/v1/courses/:courseId/courseWork")

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

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

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

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

response = conn.get('/baseUrl/v1/courses/:courseId/courseWork') do |req|
end

puts response.status
puts response.body
use reqwest;

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

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

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

    dbg!(results);
}
curl --request GET \
  --url {{baseUrl}}/v1/courses/:courseId/courseWork
http GET {{baseUrl}}/v1/courses/:courseId/courseWork
wget --quiet \
  --method GET \
  --output-document \
  - {{baseUrl}}/v1/courses/:courseId/courseWork
import Foundation

let request = NSMutableURLRequest(url: NSURL(string: "{{baseUrl}}/v1/courses/:courseId/courseWork")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"

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

dataTask.resume()
POST classroom.courses.courseWork.modifyAssignees
{{baseUrl}}/v1/courses/:courseId/courseWork/:id:modifyAssignees
QUERY PARAMS

courseId
id
BODY json

{
  "assigneeMode": "",
  "modifyIndividualStudentsOptions": {
    "addStudentIds": [],
    "removeStudentIds": []
  }
}
Examples
REQUEST

CURL *hnd = curl_easy_init();

curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "POST");
curl_easy_setopt(hnd, CURLOPT_URL, "{{baseUrl}}/v1/courses/:courseId/courseWork/:id:modifyAssignees");

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

curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\n  \"assigneeMode\": \"\",\n  \"modifyIndividualStudentsOptions\": {\n    \"addStudentIds\": [],\n    \"removeStudentIds\": []\n  }\n}");

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

(client/post "{{baseUrl}}/v1/courses/:courseId/courseWork/:id:modifyAssignees" {:content-type :json
                                                                                                :form-params {:assigneeMode ""
                                                                                                              :modifyIndividualStudentsOptions {:addStudentIds []
                                                                                                                                                :removeStudentIds []}}})
require "http/client"

url = "{{baseUrl}}/v1/courses/:courseId/courseWork/:id:modifyAssignees"
headers = HTTP::Headers{
  "content-type" => "application/json"
}
reqBody = "{\n  \"assigneeMode\": \"\",\n  \"modifyIndividualStudentsOptions\": {\n    \"addStudentIds\": [],\n    \"removeStudentIds\": []\n  }\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}}/v1/courses/:courseId/courseWork/:id:modifyAssignees"),
    Content = new StringContent("{\n  \"assigneeMode\": \"\",\n  \"modifyIndividualStudentsOptions\": {\n    \"addStudentIds\": [],\n    \"removeStudentIds\": []\n  }\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}}/v1/courses/:courseId/courseWork/:id:modifyAssignees");
var request = new RestRequest("", Method.Post);
request.AddHeader("content-type", "application/json");
request.AddParameter("application/json", "{\n  \"assigneeMode\": \"\",\n  \"modifyIndividualStudentsOptions\": {\n    \"addStudentIds\": [],\n    \"removeStudentIds\": []\n  }\n}", ParameterType.RequestBody);
var response = client.Execute(request);
package main

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

func main() {

	url := "{{baseUrl}}/v1/courses/:courseId/courseWork/:id:modifyAssignees"

	payload := strings.NewReader("{\n  \"assigneeMode\": \"\",\n  \"modifyIndividualStudentsOptions\": {\n    \"addStudentIds\": [],\n    \"removeStudentIds\": []\n  }\n}")

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

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

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

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

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

}
POST /baseUrl/v1/courses/:courseId/courseWork/:id:modifyAssignees HTTP/1.1
Content-Type: application/json
Host: example.com
Content-Length: 120

{
  "assigneeMode": "",
  "modifyIndividualStudentsOptions": {
    "addStudentIds": [],
    "removeStudentIds": []
  }
}
AsyncHttpClient client = new DefaultAsyncHttpClient();
client.prepare("POST", "{{baseUrl}}/v1/courses/:courseId/courseWork/:id:modifyAssignees")
  .setHeader("content-type", "application/json")
  .setBody("{\n  \"assigneeMode\": \"\",\n  \"modifyIndividualStudentsOptions\": {\n    \"addStudentIds\": [],\n    \"removeStudentIds\": []\n  }\n}")
  .execute()
  .toCompletableFuture()
  .thenAccept(System.out::println)
  .join();

client.close();
HttpRequest request = HttpRequest.newBuilder()
    .uri(URI.create("{{baseUrl}}/v1/courses/:courseId/courseWork/:id:modifyAssignees"))
    .header("content-type", "application/json")
    .method("POST", HttpRequest.BodyPublishers.ofString("{\n  \"assigneeMode\": \"\",\n  \"modifyIndividualStudentsOptions\": {\n    \"addStudentIds\": [],\n    \"removeStudentIds\": []\n  }\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  \"assigneeMode\": \"\",\n  \"modifyIndividualStudentsOptions\": {\n    \"addStudentIds\": [],\n    \"removeStudentIds\": []\n  }\n}");
Request request = new Request.Builder()
  .url("{{baseUrl}}/v1/courses/:courseId/courseWork/:id:modifyAssignees")
  .post(body)
  .addHeader("content-type", "application/json")
  .build();

Response response = client.newCall(request).execute();
HttpResponse response = Unirest.post("{{baseUrl}}/v1/courses/:courseId/courseWork/:id:modifyAssignees")
  .header("content-type", "application/json")
  .body("{\n  \"assigneeMode\": \"\",\n  \"modifyIndividualStudentsOptions\": {\n    \"addStudentIds\": [],\n    \"removeStudentIds\": []\n  }\n}")
  .asString();
const data = JSON.stringify({
  assigneeMode: '',
  modifyIndividualStudentsOptions: {
    addStudentIds: [],
    removeStudentIds: []
  }
});

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

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

xhr.open('POST', '{{baseUrl}}/v1/courses/:courseId/courseWork/:id:modifyAssignees');
xhr.setRequestHeader('content-type', 'application/json');

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

const options = {
  method: 'POST',
  url: '{{baseUrl}}/v1/courses/:courseId/courseWork/:id:modifyAssignees',
  headers: {'content-type': 'application/json'},
  data: {
    assigneeMode: '',
    modifyIndividualStudentsOptions: {addStudentIds: [], removeStudentIds: []}
  }
};

try {
  const { data } = await axios.request(options);
  console.log(data);
} catch (error) {
  console.error(error);
}
const url = '{{baseUrl}}/v1/courses/:courseId/courseWork/:id:modifyAssignees';
const options = {
  method: 'POST',
  headers: {'content-type': 'application/json'},
  body: '{"assigneeMode":"","modifyIndividualStudentsOptions":{"addStudentIds":[],"removeStudentIds":[]}}'
};

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}}/v1/courses/:courseId/courseWork/:id:modifyAssignees',
  method: 'POST',
  headers: {
    'content-type': 'application/json'
  },
  processData: false,
  data: '{\n  "assigneeMode": "",\n  "modifyIndividualStudentsOptions": {\n    "addStudentIds": [],\n    "removeStudentIds": []\n  }\n}'
};

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

val mediaType = MediaType.parse("application/json")
val body = RequestBody.create(mediaType, "{\n  \"assigneeMode\": \"\",\n  \"modifyIndividualStudentsOptions\": {\n    \"addStudentIds\": [],\n    \"removeStudentIds\": []\n  }\n}")
val request = Request.Builder()
  .url("{{baseUrl}}/v1/courses/:courseId/courseWork/:id:modifyAssignees")
  .post(body)
  .addHeader("content-type", "application/json")
  .build()

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

const options = {
  method: 'POST',
  hostname: 'example.com',
  port: null,
  path: '/baseUrl/v1/courses/:courseId/courseWork/:id:modifyAssignees',
  headers: {
    'content-type': 'application/json'
  }
};

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

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

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

req.write(JSON.stringify({
  assigneeMode: '',
  modifyIndividualStudentsOptions: {addStudentIds: [], removeStudentIds: []}
}));
req.end();
const request = require('request');

const options = {
  method: 'POST',
  url: '{{baseUrl}}/v1/courses/:courseId/courseWork/:id:modifyAssignees',
  headers: {'content-type': 'application/json'},
  body: {
    assigneeMode: '',
    modifyIndividualStudentsOptions: {addStudentIds: [], removeStudentIds: []}
  },
  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}}/v1/courses/:courseId/courseWork/:id:modifyAssignees');

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

req.type('json');
req.send({
  assigneeMode: '',
  modifyIndividualStudentsOptions: {
    addStudentIds: [],
    removeStudentIds: []
  }
});

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}}/v1/courses/:courseId/courseWork/:id:modifyAssignees',
  headers: {'content-type': 'application/json'},
  data: {
    assigneeMode: '',
    modifyIndividualStudentsOptions: {addStudentIds: [], removeStudentIds: []}
  }
};

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

const url = '{{baseUrl}}/v1/courses/:courseId/courseWork/:id:modifyAssignees';
const options = {
  method: 'POST',
  headers: {'content-type': 'application/json'},
  body: '{"assigneeMode":"","modifyIndividualStudentsOptions":{"addStudentIds":[],"removeStudentIds":[]}}'
};

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

NSDictionary *headers = @{ @"content-type": @"application/json" };
NSDictionary *parameters = @{ @"assigneeMode": @"",
                              @"modifyIndividualStudentsOptions": @{ @"addStudentIds": @[  ], @"removeStudentIds": @[  ] } };

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

NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"{{baseUrl}}/v1/courses/:courseId/courseWork/:id:modifyAssignees"]
                                                       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}}/v1/courses/:courseId/courseWork/:id:modifyAssignees" in
let headers = Header.add (Header.init ()) "content-type" "application/json" in
let body = Cohttp_lwt_body.of_string "{\n  \"assigneeMode\": \"\",\n  \"modifyIndividualStudentsOptions\": {\n    \"addStudentIds\": [],\n    \"removeStudentIds\": []\n  }\n}" in

Client.call ~headers ~body `POST uri
>>= fun (res, body_stream) ->
  (* Do stuff with the result *)
 "{{baseUrl}}/v1/courses/:courseId/courseWork/:id:modifyAssignees",
  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([
    'assigneeMode' => '',
    'modifyIndividualStudentsOptions' => [
        'addStudentIds' => [
                
        ],
        'removeStudentIds' => [
                
        ]
    ]
  ]),
  CURLOPT_HTTPHEADER => [
    "content-type: application/json"
  ],
]);

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

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
request('POST', '{{baseUrl}}/v1/courses/:courseId/courseWork/:id:modifyAssignees', [
  'body' => '{
  "assigneeMode": "",
  "modifyIndividualStudentsOptions": {
    "addStudentIds": [],
    "removeStudentIds": []
  }
}',
  'headers' => [
    'content-type' => 'application/json',
  ],
]);

echo $response->getBody();
setUrl('{{baseUrl}}/v1/courses/:courseId/courseWork/:id:modifyAssignees');
$request->setMethod(HTTP_METH_POST);

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

$request->setContentType('application/json');
$request->setBody(json_encode([
  'assigneeMode' => '',
  'modifyIndividualStudentsOptions' => [
    'addStudentIds' => [
        
    ],
    'removeStudentIds' => [
        
    ]
  ]
]));

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

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
append(json_encode([
  'assigneeMode' => '',
  'modifyIndividualStudentsOptions' => [
    'addStudentIds' => [
        
    ],
    'removeStudentIds' => [
        
    ]
  ]
]));
$request->setRequestUrl('{{baseUrl}}/v1/courses/:courseId/courseWork/:id:modifyAssignees');
$request->setRequestMethod('POST');
$request->setBody($body);

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

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

echo $response->getBody();
$headers=@{}
$headers.Add("content-type", "application/json")
$response = Invoke-WebRequest -Uri '{{baseUrl}}/v1/courses/:courseId/courseWork/:id:modifyAssignees' -Method POST -Headers $headers -ContentType 'application/json' -Body '{
  "assigneeMode": "",
  "modifyIndividualStudentsOptions": {
    "addStudentIds": [],
    "removeStudentIds": []
  }
}'
$headers=@{}
$headers.Add("content-type", "application/json")
$response = Invoke-RestMethod -Uri '{{baseUrl}}/v1/courses/:courseId/courseWork/:id:modifyAssignees' -Method POST -Headers $headers -ContentType 'application/json' -Body '{
  "assigneeMode": "",
  "modifyIndividualStudentsOptions": {
    "addStudentIds": [],
    "removeStudentIds": []
  }
}'
import http.client

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

payload = "{\n  \"assigneeMode\": \"\",\n  \"modifyIndividualStudentsOptions\": {\n    \"addStudentIds\": [],\n    \"removeStudentIds\": []\n  }\n}"

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

conn.request("POST", "/baseUrl/v1/courses/:courseId/courseWork/:id:modifyAssignees", payload, headers)

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

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

url = "{{baseUrl}}/v1/courses/:courseId/courseWork/:id:modifyAssignees"

payload = {
    "assigneeMode": "",
    "modifyIndividualStudentsOptions": {
        "addStudentIds": [],
        "removeStudentIds": []
    }
}
headers = {"content-type": "application/json"}

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

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

url <- "{{baseUrl}}/v1/courses/:courseId/courseWork/:id:modifyAssignees"

payload <- "{\n  \"assigneeMode\": \"\",\n  \"modifyIndividualStudentsOptions\": {\n    \"addStudentIds\": [],\n    \"removeStudentIds\": []\n  }\n}"

encode <- "json"

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

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

url = URI("{{baseUrl}}/v1/courses/:courseId/courseWork/:id:modifyAssignees")

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

request = Net::HTTP::Post.new(url)
request["content-type"] = 'application/json'
request.body = "{\n  \"assigneeMode\": \"\",\n  \"modifyIndividualStudentsOptions\": {\n    \"addStudentIds\": [],\n    \"removeStudentIds\": []\n  }\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/v1/courses/:courseId/courseWork/:id:modifyAssignees') do |req|
  req.body = "{\n  \"assigneeMode\": \"\",\n  \"modifyIndividualStudentsOptions\": {\n    \"addStudentIds\": [],\n    \"removeStudentIds\": []\n  }\n}"
end

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

#[tokio::main]
pub async fn main() {
    let url = "{{baseUrl}}/v1/courses/:courseId/courseWork/:id:modifyAssignees";

    let payload = json!({
        "assigneeMode": "",
        "modifyIndividualStudentsOptions": json!({
            "addStudentIds": (),
            "removeStudentIds": ()
        })
    });

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

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

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

    dbg!(results);
}
curl --request POST \
  --url {{baseUrl}}/v1/courses/:courseId/courseWork/:id:modifyAssignees \
  --header 'content-type: application/json' \
  --data '{
  "assigneeMode": "",
  "modifyIndividualStudentsOptions": {
    "addStudentIds": [],
    "removeStudentIds": []
  }
}'
echo '{
  "assigneeMode": "",
  "modifyIndividualStudentsOptions": {
    "addStudentIds": [],
    "removeStudentIds": []
  }
}' |  \
  http POST {{baseUrl}}/v1/courses/:courseId/courseWork/:id:modifyAssignees \
  content-type:application/json
wget --quiet \
  --method POST \
  --header 'content-type: application/json' \
  --body-data '{\n  "assigneeMode": "",\n  "modifyIndividualStudentsOptions": {\n    "addStudentIds": [],\n    "removeStudentIds": []\n  }\n}' \
  --output-document \
  - {{baseUrl}}/v1/courses/:courseId/courseWork/:id:modifyAssignees
import Foundation

let headers = ["content-type": "application/json"]
let parameters = [
  "assigneeMode": "",
  "modifyIndividualStudentsOptions": [
    "addStudentIds": [],
    "removeStudentIds": []
  ]
] as [String : Any]

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

let request = NSMutableURLRequest(url: NSURL(string: "{{baseUrl}}/v1/courses/:courseId/courseWork/:id:modifyAssignees")! 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()
PATCH classroom.courses.courseWork.patch
{{baseUrl}}/v1/courses/:courseId/courseWork/:id
QUERY PARAMS

courseId
id
BODY json

{
  "alternateLink": "",
  "assigneeMode": "",
  "assignment": {
    "studentWorkFolder": {
      "alternateLink": "",
      "id": "",
      "title": ""
    }
  },
  "associatedWithDeveloper": false,
  "courseId": "",
  "creationTime": "",
  "creatorUserId": "",
  "description": "",
  "dueDate": {
    "day": 0,
    "month": 0,
    "year": 0
  },
  "dueTime": {
    "hours": 0,
    "minutes": 0,
    "nanos": 0,
    "seconds": 0
  },
  "gradeCategory": {
    "defaultGradeDenominator": 0,
    "id": "",
    "name": "",
    "weight": 0
  },
  "id": "",
  "individualStudentsOptions": {
    "studentIds": []
  },
  "materials": [
    {
      "driveFile": {
        "driveFile": {
          "alternateLink": "",
          "id": "",
          "thumbnailUrl": "",
          "title": ""
        },
        "shareMode": ""
      },
      "form": {
        "formUrl": "",
        "responseUrl": "",
        "thumbnailUrl": "",
        "title": ""
      },
      "link": {
        "thumbnailUrl": "",
        "title": "",
        "url": ""
      },
      "youtubeVideo": {
        "alternateLink": "",
        "id": "",
        "thumbnailUrl": "",
        "title": ""
      }
    }
  ],
  "maxPoints": "",
  "multipleChoiceQuestion": {
    "choices": []
  },
  "scheduledTime": "",
  "state": "",
  "submissionModificationMode": "",
  "title": "",
  "topicId": "",
  "updateTime": "",
  "workType": ""
}
Examples
REQUEST

CURL *hnd = curl_easy_init();

curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "PATCH");
curl_easy_setopt(hnd, CURLOPT_URL, "{{baseUrl}}/v1/courses/:courseId/courseWork/:id");

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

curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\n  \"alternateLink\": \"\",\n  \"assigneeMode\": \"\",\n  \"assignment\": {\n    \"studentWorkFolder\": {\n      \"alternateLink\": \"\",\n      \"id\": \"\",\n      \"title\": \"\"\n    }\n  },\n  \"associatedWithDeveloper\": false,\n  \"courseId\": \"\",\n  \"creationTime\": \"\",\n  \"creatorUserId\": \"\",\n  \"description\": \"\",\n  \"dueDate\": {\n    \"day\": 0,\n    \"month\": 0,\n    \"year\": 0\n  },\n  \"dueTime\": {\n    \"hours\": 0,\n    \"minutes\": 0,\n    \"nanos\": 0,\n    \"seconds\": 0\n  },\n  \"gradeCategory\": {\n    \"defaultGradeDenominator\": 0,\n    \"id\": \"\",\n    \"name\": \"\",\n    \"weight\": 0\n  },\n  \"id\": \"\",\n  \"individualStudentsOptions\": {\n    \"studentIds\": []\n  },\n  \"materials\": [\n    {\n      \"driveFile\": {\n        \"driveFile\": {\n          \"alternateLink\": \"\",\n          \"id\": \"\",\n          \"thumbnailUrl\": \"\",\n          \"title\": \"\"\n        },\n        \"shareMode\": \"\"\n      },\n      \"form\": {\n        \"formUrl\": \"\",\n        \"responseUrl\": \"\",\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\"\n      },\n      \"link\": {\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\",\n        \"url\": \"\"\n      },\n      \"youtubeVideo\": {\n        \"alternateLink\": \"\",\n        \"id\": \"\",\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\"\n      }\n    }\n  ],\n  \"maxPoints\": \"\",\n  \"multipleChoiceQuestion\": {\n    \"choices\": []\n  },\n  \"scheduledTime\": \"\",\n  \"state\": \"\",\n  \"submissionModificationMode\": \"\",\n  \"title\": \"\",\n  \"topicId\": \"\",\n  \"updateTime\": \"\",\n  \"workType\": \"\"\n}");

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

(client/patch "{{baseUrl}}/v1/courses/:courseId/courseWork/:id" {:content-type :json
                                                                                 :form-params {:alternateLink ""
                                                                                               :assigneeMode ""
                                                                                               :assignment {:studentWorkFolder {:alternateLink ""
                                                                                                                                :id ""
                                                                                                                                :title ""}}
                                                                                               :associatedWithDeveloper false
                                                                                               :courseId ""
                                                                                               :creationTime ""
                                                                                               :creatorUserId ""
                                                                                               :description ""
                                                                                               :dueDate {:day 0
                                                                                                         :month 0
                                                                                                         :year 0}
                                                                                               :dueTime {:hours 0
                                                                                                         :minutes 0
                                                                                                         :nanos 0
                                                                                                         :seconds 0}
                                                                                               :gradeCategory {:defaultGradeDenominator 0
                                                                                                               :id ""
                                                                                                               :name ""
                                                                                                               :weight 0}
                                                                                               :id ""
                                                                                               :individualStudentsOptions {:studentIds []}
                                                                                               :materials [{:driveFile {:driveFile {:alternateLink ""
                                                                                                                                    :id ""
                                                                                                                                    :thumbnailUrl ""
                                                                                                                                    :title ""}
                                                                                                                        :shareMode ""}
                                                                                                            :form {:formUrl ""
                                                                                                                   :responseUrl ""
                                                                                                                   :thumbnailUrl ""
                                                                                                                   :title ""}
                                                                                                            :link {:thumbnailUrl ""
                                                                                                                   :title ""
                                                                                                                   :url ""}
                                                                                                            :youtubeVideo {:alternateLink ""
                                                                                                                           :id ""
                                                                                                                           :thumbnailUrl ""
                                                                                                                           :title ""}}]
                                                                                               :maxPoints ""
                                                                                               :multipleChoiceQuestion {:choices []}
                                                                                               :scheduledTime ""
                                                                                               :state ""
                                                                                               :submissionModificationMode ""
                                                                                               :title ""
                                                                                               :topicId ""
                                                                                               :updateTime ""
                                                                                               :workType ""}})
require "http/client"

url = "{{baseUrl}}/v1/courses/:courseId/courseWork/:id"
headers = HTTP::Headers{
  "content-type" => "application/json"
}
reqBody = "{\n  \"alternateLink\": \"\",\n  \"assigneeMode\": \"\",\n  \"assignment\": {\n    \"studentWorkFolder\": {\n      \"alternateLink\": \"\",\n      \"id\": \"\",\n      \"title\": \"\"\n    }\n  },\n  \"associatedWithDeveloper\": false,\n  \"courseId\": \"\",\n  \"creationTime\": \"\",\n  \"creatorUserId\": \"\",\n  \"description\": \"\",\n  \"dueDate\": {\n    \"day\": 0,\n    \"month\": 0,\n    \"year\": 0\n  },\n  \"dueTime\": {\n    \"hours\": 0,\n    \"minutes\": 0,\n    \"nanos\": 0,\n    \"seconds\": 0\n  },\n  \"gradeCategory\": {\n    \"defaultGradeDenominator\": 0,\n    \"id\": \"\",\n    \"name\": \"\",\n    \"weight\": 0\n  },\n  \"id\": \"\",\n  \"individualStudentsOptions\": {\n    \"studentIds\": []\n  },\n  \"materials\": [\n    {\n      \"driveFile\": {\n        \"driveFile\": {\n          \"alternateLink\": \"\",\n          \"id\": \"\",\n          \"thumbnailUrl\": \"\",\n          \"title\": \"\"\n        },\n        \"shareMode\": \"\"\n      },\n      \"form\": {\n        \"formUrl\": \"\",\n        \"responseUrl\": \"\",\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\"\n      },\n      \"link\": {\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\",\n        \"url\": \"\"\n      },\n      \"youtubeVideo\": {\n        \"alternateLink\": \"\",\n        \"id\": \"\",\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\"\n      }\n    }\n  ],\n  \"maxPoints\": \"\",\n  \"multipleChoiceQuestion\": {\n    \"choices\": []\n  },\n  \"scheduledTime\": \"\",\n  \"state\": \"\",\n  \"submissionModificationMode\": \"\",\n  \"title\": \"\",\n  \"topicId\": \"\",\n  \"updateTime\": \"\",\n  \"workType\": \"\"\n}"

response = HTTP::Client.patch url, headers: headers, body: reqBody
puts response.body
using System.Net.Http.Headers;
var client = new HttpClient();
var request = new HttpRequestMessage
{
    Method = HttpMethod.Patch,
    RequestUri = new Uri("{{baseUrl}}/v1/courses/:courseId/courseWork/:id"),
    Content = new StringContent("{\n  \"alternateLink\": \"\",\n  \"assigneeMode\": \"\",\n  \"assignment\": {\n    \"studentWorkFolder\": {\n      \"alternateLink\": \"\",\n      \"id\": \"\",\n      \"title\": \"\"\n    }\n  },\n  \"associatedWithDeveloper\": false,\n  \"courseId\": \"\",\n  \"creationTime\": \"\",\n  \"creatorUserId\": \"\",\n  \"description\": \"\",\n  \"dueDate\": {\n    \"day\": 0,\n    \"month\": 0,\n    \"year\": 0\n  },\n  \"dueTime\": {\n    \"hours\": 0,\n    \"minutes\": 0,\n    \"nanos\": 0,\n    \"seconds\": 0\n  },\n  \"gradeCategory\": {\n    \"defaultGradeDenominator\": 0,\n    \"id\": \"\",\n    \"name\": \"\",\n    \"weight\": 0\n  },\n  \"id\": \"\",\n  \"individualStudentsOptions\": {\n    \"studentIds\": []\n  },\n  \"materials\": [\n    {\n      \"driveFile\": {\n        \"driveFile\": {\n          \"alternateLink\": \"\",\n          \"id\": \"\",\n          \"thumbnailUrl\": \"\",\n          \"title\": \"\"\n        },\n        \"shareMode\": \"\"\n      },\n      \"form\": {\n        \"formUrl\": \"\",\n        \"responseUrl\": \"\",\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\"\n      },\n      \"link\": {\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\",\n        \"url\": \"\"\n      },\n      \"youtubeVideo\": {\n        \"alternateLink\": \"\",\n        \"id\": \"\",\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\"\n      }\n    }\n  ],\n  \"maxPoints\": \"\",\n  \"multipleChoiceQuestion\": {\n    \"choices\": []\n  },\n  \"scheduledTime\": \"\",\n  \"state\": \"\",\n  \"submissionModificationMode\": \"\",\n  \"title\": \"\",\n  \"topicId\": \"\",\n  \"updateTime\": \"\",\n  \"workType\": \"\"\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}}/v1/courses/:courseId/courseWork/:id");
var request = new RestRequest("", Method.Patch);
request.AddHeader("content-type", "application/json");
request.AddParameter("application/json", "{\n  \"alternateLink\": \"\",\n  \"assigneeMode\": \"\",\n  \"assignment\": {\n    \"studentWorkFolder\": {\n      \"alternateLink\": \"\",\n      \"id\": \"\",\n      \"title\": \"\"\n    }\n  },\n  \"associatedWithDeveloper\": false,\n  \"courseId\": \"\",\n  \"creationTime\": \"\",\n  \"creatorUserId\": \"\",\n  \"description\": \"\",\n  \"dueDate\": {\n    \"day\": 0,\n    \"month\": 0,\n    \"year\": 0\n  },\n  \"dueTime\": {\n    \"hours\": 0,\n    \"minutes\": 0,\n    \"nanos\": 0,\n    \"seconds\": 0\n  },\n  \"gradeCategory\": {\n    \"defaultGradeDenominator\": 0,\n    \"id\": \"\",\n    \"name\": \"\",\n    \"weight\": 0\n  },\n  \"id\": \"\",\n  \"individualStudentsOptions\": {\n    \"studentIds\": []\n  },\n  \"materials\": [\n    {\n      \"driveFile\": {\n        \"driveFile\": {\n          \"alternateLink\": \"\",\n          \"id\": \"\",\n          \"thumbnailUrl\": \"\",\n          \"title\": \"\"\n        },\n        \"shareMode\": \"\"\n      },\n      \"form\": {\n        \"formUrl\": \"\",\n        \"responseUrl\": \"\",\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\"\n      },\n      \"link\": {\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\",\n        \"url\": \"\"\n      },\n      \"youtubeVideo\": {\n        \"alternateLink\": \"\",\n        \"id\": \"\",\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\"\n      }\n    }\n  ],\n  \"maxPoints\": \"\",\n  \"multipleChoiceQuestion\": {\n    \"choices\": []\n  },\n  \"scheduledTime\": \"\",\n  \"state\": \"\",\n  \"submissionModificationMode\": \"\",\n  \"title\": \"\",\n  \"topicId\": \"\",\n  \"updateTime\": \"\",\n  \"workType\": \"\"\n}", ParameterType.RequestBody);
var response = client.Execute(request);
package main

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

func main() {

	url := "{{baseUrl}}/v1/courses/:courseId/courseWork/:id"

	payload := strings.NewReader("{\n  \"alternateLink\": \"\",\n  \"assigneeMode\": \"\",\n  \"assignment\": {\n    \"studentWorkFolder\": {\n      \"alternateLink\": \"\",\n      \"id\": \"\",\n      \"title\": \"\"\n    }\n  },\n  \"associatedWithDeveloper\": false,\n  \"courseId\": \"\",\n  \"creationTime\": \"\",\n  \"creatorUserId\": \"\",\n  \"description\": \"\",\n  \"dueDate\": {\n    \"day\": 0,\n    \"month\": 0,\n    \"year\": 0\n  },\n  \"dueTime\": {\n    \"hours\": 0,\n    \"minutes\": 0,\n    \"nanos\": 0,\n    \"seconds\": 0\n  },\n  \"gradeCategory\": {\n    \"defaultGradeDenominator\": 0,\n    \"id\": \"\",\n    \"name\": \"\",\n    \"weight\": 0\n  },\n  \"id\": \"\",\n  \"individualStudentsOptions\": {\n    \"studentIds\": []\n  },\n  \"materials\": [\n    {\n      \"driveFile\": {\n        \"driveFile\": {\n          \"alternateLink\": \"\",\n          \"id\": \"\",\n          \"thumbnailUrl\": \"\",\n          \"title\": \"\"\n        },\n        \"shareMode\": \"\"\n      },\n      \"form\": {\n        \"formUrl\": \"\",\n        \"responseUrl\": \"\",\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\"\n      },\n      \"link\": {\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\",\n        \"url\": \"\"\n      },\n      \"youtubeVideo\": {\n        \"alternateLink\": \"\",\n        \"id\": \"\",\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\"\n      }\n    }\n  ],\n  \"maxPoints\": \"\",\n  \"multipleChoiceQuestion\": {\n    \"choices\": []\n  },\n  \"scheduledTime\": \"\",\n  \"state\": \"\",\n  \"submissionModificationMode\": \"\",\n  \"title\": \"\",\n  \"topicId\": \"\",\n  \"updateTime\": \"\",\n  \"workType\": \"\"\n}")

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

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

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

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

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

}
PATCH /baseUrl/v1/courses/:courseId/courseWork/:id HTTP/1.1
Content-Type: application/json
Host: example.com
Content-Length: 1395

{
  "alternateLink": "",
  "assigneeMode": "",
  "assignment": {
    "studentWorkFolder": {
      "alternateLink": "",
      "id": "",
      "title": ""
    }
  },
  "associatedWithDeveloper": false,
  "courseId": "",
  "creationTime": "",
  "creatorUserId": "",
  "description": "",
  "dueDate": {
    "day": 0,
    "month": 0,
    "year": 0
  },
  "dueTime": {
    "hours": 0,
    "minutes": 0,
    "nanos": 0,
    "seconds": 0
  },
  "gradeCategory": {
    "defaultGradeDenominator": 0,
    "id": "",
    "name": "",
    "weight": 0
  },
  "id": "",
  "individualStudentsOptions": {
    "studentIds": []
  },
  "materials": [
    {
      "driveFile": {
        "driveFile": {
          "alternateLink": "",
          "id": "",
          "thumbnailUrl": "",
          "title": ""
        },
        "shareMode": ""
      },
      "form": {
        "formUrl": "",
        "responseUrl": "",
        "thumbnailUrl": "",
        "title": ""
      },
      "link": {
        "thumbnailUrl": "",
        "title": "",
        "url": ""
      },
      "youtubeVideo": {
        "alternateLink": "",
        "id": "",
        "thumbnailUrl": "",
        "title": ""
      }
    }
  ],
  "maxPoints": "",
  "multipleChoiceQuestion": {
    "choices": []
  },
  "scheduledTime": "",
  "state": "",
  "submissionModificationMode": "",
  "title": "",
  "topicId": "",
  "updateTime": "",
  "workType": ""
}
AsyncHttpClient client = new DefaultAsyncHttpClient();
client.prepare("PATCH", "{{baseUrl}}/v1/courses/:courseId/courseWork/:id")
  .setHeader("content-type", "application/json")
  .setBody("{\n  \"alternateLink\": \"\",\n  \"assigneeMode\": \"\",\n  \"assignment\": {\n    \"studentWorkFolder\": {\n      \"alternateLink\": \"\",\n      \"id\": \"\",\n      \"title\": \"\"\n    }\n  },\n  \"associatedWithDeveloper\": false,\n  \"courseId\": \"\",\n  \"creationTime\": \"\",\n  \"creatorUserId\": \"\",\n  \"description\": \"\",\n  \"dueDate\": {\n    \"day\": 0,\n    \"month\": 0,\n    \"year\": 0\n  },\n  \"dueTime\": {\n    \"hours\": 0,\n    \"minutes\": 0,\n    \"nanos\": 0,\n    \"seconds\": 0\n  },\n  \"gradeCategory\": {\n    \"defaultGradeDenominator\": 0,\n    \"id\": \"\",\n    \"name\": \"\",\n    \"weight\": 0\n  },\n  \"id\": \"\",\n  \"individualStudentsOptions\": {\n    \"studentIds\": []\n  },\n  \"materials\": [\n    {\n      \"driveFile\": {\n        \"driveFile\": {\n          \"alternateLink\": \"\",\n          \"id\": \"\",\n          \"thumbnailUrl\": \"\",\n          \"title\": \"\"\n        },\n        \"shareMode\": \"\"\n      },\n      \"form\": {\n        \"formUrl\": \"\",\n        \"responseUrl\": \"\",\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\"\n      },\n      \"link\": {\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\",\n        \"url\": \"\"\n      },\n      \"youtubeVideo\": {\n        \"alternateLink\": \"\",\n        \"id\": \"\",\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\"\n      }\n    }\n  ],\n  \"maxPoints\": \"\",\n  \"multipleChoiceQuestion\": {\n    \"choices\": []\n  },\n  \"scheduledTime\": \"\",\n  \"state\": \"\",\n  \"submissionModificationMode\": \"\",\n  \"title\": \"\",\n  \"topicId\": \"\",\n  \"updateTime\": \"\",\n  \"workType\": \"\"\n}")
  .execute()
  .toCompletableFuture()
  .thenAccept(System.out::println)
  .join();

client.close();
HttpRequest request = HttpRequest.newBuilder()
    .uri(URI.create("{{baseUrl}}/v1/courses/:courseId/courseWork/:id"))
    .header("content-type", "application/json")
    .method("PATCH", HttpRequest.BodyPublishers.ofString("{\n  \"alternateLink\": \"\",\n  \"assigneeMode\": \"\",\n  \"assignment\": {\n    \"studentWorkFolder\": {\n      \"alternateLink\": \"\",\n      \"id\": \"\",\n      \"title\": \"\"\n    }\n  },\n  \"associatedWithDeveloper\": false,\n  \"courseId\": \"\",\n  \"creationTime\": \"\",\n  \"creatorUserId\": \"\",\n  \"description\": \"\",\n  \"dueDate\": {\n    \"day\": 0,\n    \"month\": 0,\n    \"year\": 0\n  },\n  \"dueTime\": {\n    \"hours\": 0,\n    \"minutes\": 0,\n    \"nanos\": 0,\n    \"seconds\": 0\n  },\n  \"gradeCategory\": {\n    \"defaultGradeDenominator\": 0,\n    \"id\": \"\",\n    \"name\": \"\",\n    \"weight\": 0\n  },\n  \"id\": \"\",\n  \"individualStudentsOptions\": {\n    \"studentIds\": []\n  },\n  \"materials\": [\n    {\n      \"driveFile\": {\n        \"driveFile\": {\n          \"alternateLink\": \"\",\n          \"id\": \"\",\n          \"thumbnailUrl\": \"\",\n          \"title\": \"\"\n        },\n        \"shareMode\": \"\"\n      },\n      \"form\": {\n        \"formUrl\": \"\",\n        \"responseUrl\": \"\",\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\"\n      },\n      \"link\": {\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\",\n        \"url\": \"\"\n      },\n      \"youtubeVideo\": {\n        \"alternateLink\": \"\",\n        \"id\": \"\",\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\"\n      }\n    }\n  ],\n  \"maxPoints\": \"\",\n  \"multipleChoiceQuestion\": {\n    \"choices\": []\n  },\n  \"scheduledTime\": \"\",\n  \"state\": \"\",\n  \"submissionModificationMode\": \"\",\n  \"title\": \"\",\n  \"topicId\": \"\",\n  \"updateTime\": \"\",\n  \"workType\": \"\"\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  \"alternateLink\": \"\",\n  \"assigneeMode\": \"\",\n  \"assignment\": {\n    \"studentWorkFolder\": {\n      \"alternateLink\": \"\",\n      \"id\": \"\",\n      \"title\": \"\"\n    }\n  },\n  \"associatedWithDeveloper\": false,\n  \"courseId\": \"\",\n  \"creationTime\": \"\",\n  \"creatorUserId\": \"\",\n  \"description\": \"\",\n  \"dueDate\": {\n    \"day\": 0,\n    \"month\": 0,\n    \"year\": 0\n  },\n  \"dueTime\": {\n    \"hours\": 0,\n    \"minutes\": 0,\n    \"nanos\": 0,\n    \"seconds\": 0\n  },\n  \"gradeCategory\": {\n    \"defaultGradeDenominator\": 0,\n    \"id\": \"\",\n    \"name\": \"\",\n    \"weight\": 0\n  },\n  \"id\": \"\",\n  \"individualStudentsOptions\": {\n    \"studentIds\": []\n  },\n  \"materials\": [\n    {\n      \"driveFile\": {\n        \"driveFile\": {\n          \"alternateLink\": \"\",\n          \"id\": \"\",\n          \"thumbnailUrl\": \"\",\n          \"title\": \"\"\n        },\n        \"shareMode\": \"\"\n      },\n      \"form\": {\n        \"formUrl\": \"\",\n        \"responseUrl\": \"\",\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\"\n      },\n      \"link\": {\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\",\n        \"url\": \"\"\n      },\n      \"youtubeVideo\": {\n        \"alternateLink\": \"\",\n        \"id\": \"\",\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\"\n      }\n    }\n  ],\n  \"maxPoints\": \"\",\n  \"multipleChoiceQuestion\": {\n    \"choices\": []\n  },\n  \"scheduledTime\": \"\",\n  \"state\": \"\",\n  \"submissionModificationMode\": \"\",\n  \"title\": \"\",\n  \"topicId\": \"\",\n  \"updateTime\": \"\",\n  \"workType\": \"\"\n}");
Request request = new Request.Builder()
  .url("{{baseUrl}}/v1/courses/:courseId/courseWork/:id")
  .patch(body)
  .addHeader("content-type", "application/json")
  .build();

Response response = client.newCall(request).execute();
HttpResponse response = Unirest.patch("{{baseUrl}}/v1/courses/:courseId/courseWork/:id")
  .header("content-type", "application/json")
  .body("{\n  \"alternateLink\": \"\",\n  \"assigneeMode\": \"\",\n  \"assignment\": {\n    \"studentWorkFolder\": {\n      \"alternateLink\": \"\",\n      \"id\": \"\",\n      \"title\": \"\"\n    }\n  },\n  \"associatedWithDeveloper\": false,\n  \"courseId\": \"\",\n  \"creationTime\": \"\",\n  \"creatorUserId\": \"\",\n  \"description\": \"\",\n  \"dueDate\": {\n    \"day\": 0,\n    \"month\": 0,\n    \"year\": 0\n  },\n  \"dueTime\": {\n    \"hours\": 0,\n    \"minutes\": 0,\n    \"nanos\": 0,\n    \"seconds\": 0\n  },\n  \"gradeCategory\": {\n    \"defaultGradeDenominator\": 0,\n    \"id\": \"\",\n    \"name\": \"\",\n    \"weight\": 0\n  },\n  \"id\": \"\",\n  \"individualStudentsOptions\": {\n    \"studentIds\": []\n  },\n  \"materials\": [\n    {\n      \"driveFile\": {\n        \"driveFile\": {\n          \"alternateLink\": \"\",\n          \"id\": \"\",\n          \"thumbnailUrl\": \"\",\n          \"title\": \"\"\n        },\n        \"shareMode\": \"\"\n      },\n      \"form\": {\n        \"formUrl\": \"\",\n        \"responseUrl\": \"\",\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\"\n      },\n      \"link\": {\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\",\n        \"url\": \"\"\n      },\n      \"youtubeVideo\": {\n        \"alternateLink\": \"\",\n        \"id\": \"\",\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\"\n      }\n    }\n  ],\n  \"maxPoints\": \"\",\n  \"multipleChoiceQuestion\": {\n    \"choices\": []\n  },\n  \"scheduledTime\": \"\",\n  \"state\": \"\",\n  \"submissionModificationMode\": \"\",\n  \"title\": \"\",\n  \"topicId\": \"\",\n  \"updateTime\": \"\",\n  \"workType\": \"\"\n}")
  .asString();
const data = JSON.stringify({
  alternateLink: '',
  assigneeMode: '',
  assignment: {
    studentWorkFolder: {
      alternateLink: '',
      id: '',
      title: ''
    }
  },
  associatedWithDeveloper: false,
  courseId: '',
  creationTime: '',
  creatorUserId: '',
  description: '',
  dueDate: {
    day: 0,
    month: 0,
    year: 0
  },
  dueTime: {
    hours: 0,
    minutes: 0,
    nanos: 0,
    seconds: 0
  },
  gradeCategory: {
    defaultGradeDenominator: 0,
    id: '',
    name: '',
    weight: 0
  },
  id: '',
  individualStudentsOptions: {
    studentIds: []
  },
  materials: [
    {
      driveFile: {
        driveFile: {
          alternateLink: '',
          id: '',
          thumbnailUrl: '',
          title: ''
        },
        shareMode: ''
      },
      form: {
        formUrl: '',
        responseUrl: '',
        thumbnailUrl: '',
        title: ''
      },
      link: {
        thumbnailUrl: '',
        title: '',
        url: ''
      },
      youtubeVideo: {
        alternateLink: '',
        id: '',
        thumbnailUrl: '',
        title: ''
      }
    }
  ],
  maxPoints: '',
  multipleChoiceQuestion: {
    choices: []
  },
  scheduledTime: '',
  state: '',
  submissionModificationMode: '',
  title: '',
  topicId: '',
  updateTime: '',
  workType: ''
});

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

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

xhr.open('PATCH', '{{baseUrl}}/v1/courses/:courseId/courseWork/:id');
xhr.setRequestHeader('content-type', 'application/json');

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

const options = {
  method: 'PATCH',
  url: '{{baseUrl}}/v1/courses/:courseId/courseWork/:id',
  headers: {'content-type': 'application/json'},
  data: {
    alternateLink: '',
    assigneeMode: '',
    assignment: {studentWorkFolder: {alternateLink: '', id: '', title: ''}},
    associatedWithDeveloper: false,
    courseId: '',
    creationTime: '',
    creatorUserId: '',
    description: '',
    dueDate: {day: 0, month: 0, year: 0},
    dueTime: {hours: 0, minutes: 0, nanos: 0, seconds: 0},
    gradeCategory: {defaultGradeDenominator: 0, id: '', name: '', weight: 0},
    id: '',
    individualStudentsOptions: {studentIds: []},
    materials: [
      {
        driveFile: {
          driveFile: {alternateLink: '', id: '', thumbnailUrl: '', title: ''},
          shareMode: ''
        },
        form: {formUrl: '', responseUrl: '', thumbnailUrl: '', title: ''},
        link: {thumbnailUrl: '', title: '', url: ''},
        youtubeVideo: {alternateLink: '', id: '', thumbnailUrl: '', title: ''}
      }
    ],
    maxPoints: '',
    multipleChoiceQuestion: {choices: []},
    scheduledTime: '',
    state: '',
    submissionModificationMode: '',
    title: '',
    topicId: '',
    updateTime: '',
    workType: ''
  }
};

try {
  const { data } = await axios.request(options);
  console.log(data);
} catch (error) {
  console.error(error);
}
const url = '{{baseUrl}}/v1/courses/:courseId/courseWork/:id';
const options = {
  method: 'PATCH',
  headers: {'content-type': 'application/json'},
  body: '{"alternateLink":"","assigneeMode":"","assignment":{"studentWorkFolder":{"alternateLink":"","id":"","title":""}},"associatedWithDeveloper":false,"courseId":"","creationTime":"","creatorUserId":"","description":"","dueDate":{"day":0,"month":0,"year":0},"dueTime":{"hours":0,"minutes":0,"nanos":0,"seconds":0},"gradeCategory":{"defaultGradeDenominator":0,"id":"","name":"","weight":0},"id":"","individualStudentsOptions":{"studentIds":[]},"materials":[{"driveFile":{"driveFile":{"alternateLink":"","id":"","thumbnailUrl":"","title":""},"shareMode":""},"form":{"formUrl":"","responseUrl":"","thumbnailUrl":"","title":""},"link":{"thumbnailUrl":"","title":"","url":""},"youtubeVideo":{"alternateLink":"","id":"","thumbnailUrl":"","title":""}}],"maxPoints":"","multipleChoiceQuestion":{"choices":[]},"scheduledTime":"","state":"","submissionModificationMode":"","title":"","topicId":"","updateTime":"","workType":""}'
};

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}}/v1/courses/:courseId/courseWork/:id',
  method: 'PATCH',
  headers: {
    'content-type': 'application/json'
  },
  processData: false,
  data: '{\n  "alternateLink": "",\n  "assigneeMode": "",\n  "assignment": {\n    "studentWorkFolder": {\n      "alternateLink": "",\n      "id": "",\n      "title": ""\n    }\n  },\n  "associatedWithDeveloper": false,\n  "courseId": "",\n  "creationTime": "",\n  "creatorUserId": "",\n  "description": "",\n  "dueDate": {\n    "day": 0,\n    "month": 0,\n    "year": 0\n  },\n  "dueTime": {\n    "hours": 0,\n    "minutes": 0,\n    "nanos": 0,\n    "seconds": 0\n  },\n  "gradeCategory": {\n    "defaultGradeDenominator": 0,\n    "id": "",\n    "name": "",\n    "weight": 0\n  },\n  "id": "",\n  "individualStudentsOptions": {\n    "studentIds": []\n  },\n  "materials": [\n    {\n      "driveFile": {\n        "driveFile": {\n          "alternateLink": "",\n          "id": "",\n          "thumbnailUrl": "",\n          "title": ""\n        },\n        "shareMode": ""\n      },\n      "form": {\n        "formUrl": "",\n        "responseUrl": "",\n        "thumbnailUrl": "",\n        "title": ""\n      },\n      "link": {\n        "thumbnailUrl": "",\n        "title": "",\n        "url": ""\n      },\n      "youtubeVideo": {\n        "alternateLink": "",\n        "id": "",\n        "thumbnailUrl": "",\n        "title": ""\n      }\n    }\n  ],\n  "maxPoints": "",\n  "multipleChoiceQuestion": {\n    "choices": []\n  },\n  "scheduledTime": "",\n  "state": "",\n  "submissionModificationMode": "",\n  "title": "",\n  "topicId": "",\n  "updateTime": "",\n  "workType": ""\n}'
};

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

val mediaType = MediaType.parse("application/json")
val body = RequestBody.create(mediaType, "{\n  \"alternateLink\": \"\",\n  \"assigneeMode\": \"\",\n  \"assignment\": {\n    \"studentWorkFolder\": {\n      \"alternateLink\": \"\",\n      \"id\": \"\",\n      \"title\": \"\"\n    }\n  },\n  \"associatedWithDeveloper\": false,\n  \"courseId\": \"\",\n  \"creationTime\": \"\",\n  \"creatorUserId\": \"\",\n  \"description\": \"\",\n  \"dueDate\": {\n    \"day\": 0,\n    \"month\": 0,\n    \"year\": 0\n  },\n  \"dueTime\": {\n    \"hours\": 0,\n    \"minutes\": 0,\n    \"nanos\": 0,\n    \"seconds\": 0\n  },\n  \"gradeCategory\": {\n    \"defaultGradeDenominator\": 0,\n    \"id\": \"\",\n    \"name\": \"\",\n    \"weight\": 0\n  },\n  \"id\": \"\",\n  \"individualStudentsOptions\": {\n    \"studentIds\": []\n  },\n  \"materials\": [\n    {\n      \"driveFile\": {\n        \"driveFile\": {\n          \"alternateLink\": \"\",\n          \"id\": \"\",\n          \"thumbnailUrl\": \"\",\n          \"title\": \"\"\n        },\n        \"shareMode\": \"\"\n      },\n      \"form\": {\n        \"formUrl\": \"\",\n        \"responseUrl\": \"\",\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\"\n      },\n      \"link\": {\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\",\n        \"url\": \"\"\n      },\n      \"youtubeVideo\": {\n        \"alternateLink\": \"\",\n        \"id\": \"\",\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\"\n      }\n    }\n  ],\n  \"maxPoints\": \"\",\n  \"multipleChoiceQuestion\": {\n    \"choices\": []\n  },\n  \"scheduledTime\": \"\",\n  \"state\": \"\",\n  \"submissionModificationMode\": \"\",\n  \"title\": \"\",\n  \"topicId\": \"\",\n  \"updateTime\": \"\",\n  \"workType\": \"\"\n}")
val request = Request.Builder()
  .url("{{baseUrl}}/v1/courses/:courseId/courseWork/:id")
  .patch(body)
  .addHeader("content-type", "application/json")
  .build()

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

const options = {
  method: 'PATCH',
  hostname: 'example.com',
  port: null,
  path: '/baseUrl/v1/courses/:courseId/courseWork/:id',
  headers: {
    'content-type': 'application/json'
  }
};

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

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

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

req.write(JSON.stringify({
  alternateLink: '',
  assigneeMode: '',
  assignment: {studentWorkFolder: {alternateLink: '', id: '', title: ''}},
  associatedWithDeveloper: false,
  courseId: '',
  creationTime: '',
  creatorUserId: '',
  description: '',
  dueDate: {day: 0, month: 0, year: 0},
  dueTime: {hours: 0, minutes: 0, nanos: 0, seconds: 0},
  gradeCategory: {defaultGradeDenominator: 0, id: '', name: '', weight: 0},
  id: '',
  individualStudentsOptions: {studentIds: []},
  materials: [
    {
      driveFile: {
        driveFile: {alternateLink: '', id: '', thumbnailUrl: '', title: ''},
        shareMode: ''
      },
      form: {formUrl: '', responseUrl: '', thumbnailUrl: '', title: ''},
      link: {thumbnailUrl: '', title: '', url: ''},
      youtubeVideo: {alternateLink: '', id: '', thumbnailUrl: '', title: ''}
    }
  ],
  maxPoints: '',
  multipleChoiceQuestion: {choices: []},
  scheduledTime: '',
  state: '',
  submissionModificationMode: '',
  title: '',
  topicId: '',
  updateTime: '',
  workType: ''
}));
req.end();
const request = require('request');

const options = {
  method: 'PATCH',
  url: '{{baseUrl}}/v1/courses/:courseId/courseWork/:id',
  headers: {'content-type': 'application/json'},
  body: {
    alternateLink: '',
    assigneeMode: '',
    assignment: {studentWorkFolder: {alternateLink: '', id: '', title: ''}},
    associatedWithDeveloper: false,
    courseId: '',
    creationTime: '',
    creatorUserId: '',
    description: '',
    dueDate: {day: 0, month: 0, year: 0},
    dueTime: {hours: 0, minutes: 0, nanos: 0, seconds: 0},
    gradeCategory: {defaultGradeDenominator: 0, id: '', name: '', weight: 0},
    id: '',
    individualStudentsOptions: {studentIds: []},
    materials: [
      {
        driveFile: {
          driveFile: {alternateLink: '', id: '', thumbnailUrl: '', title: ''},
          shareMode: ''
        },
        form: {formUrl: '', responseUrl: '', thumbnailUrl: '', title: ''},
        link: {thumbnailUrl: '', title: '', url: ''},
        youtubeVideo: {alternateLink: '', id: '', thumbnailUrl: '', title: ''}
      }
    ],
    maxPoints: '',
    multipleChoiceQuestion: {choices: []},
    scheduledTime: '',
    state: '',
    submissionModificationMode: '',
    title: '',
    topicId: '',
    updateTime: '',
    workType: ''
  },
  json: true
};

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

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

const req = unirest('PATCH', '{{baseUrl}}/v1/courses/:courseId/courseWork/:id');

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

req.type('json');
req.send({
  alternateLink: '',
  assigneeMode: '',
  assignment: {
    studentWorkFolder: {
      alternateLink: '',
      id: '',
      title: ''
    }
  },
  associatedWithDeveloper: false,
  courseId: '',
  creationTime: '',
  creatorUserId: '',
  description: '',
  dueDate: {
    day: 0,
    month: 0,
    year: 0
  },
  dueTime: {
    hours: 0,
    minutes: 0,
    nanos: 0,
    seconds: 0
  },
  gradeCategory: {
    defaultGradeDenominator: 0,
    id: '',
    name: '',
    weight: 0
  },
  id: '',
  individualStudentsOptions: {
    studentIds: []
  },
  materials: [
    {
      driveFile: {
        driveFile: {
          alternateLink: '',
          id: '',
          thumbnailUrl: '',
          title: ''
        },
        shareMode: ''
      },
      form: {
        formUrl: '',
        responseUrl: '',
        thumbnailUrl: '',
        title: ''
      },
      link: {
        thumbnailUrl: '',
        title: '',
        url: ''
      },
      youtubeVideo: {
        alternateLink: '',
        id: '',
        thumbnailUrl: '',
        title: ''
      }
    }
  ],
  maxPoints: '',
  multipleChoiceQuestion: {
    choices: []
  },
  scheduledTime: '',
  state: '',
  submissionModificationMode: '',
  title: '',
  topicId: '',
  updateTime: '',
  workType: ''
});

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

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

const options = {
  method: 'PATCH',
  url: '{{baseUrl}}/v1/courses/:courseId/courseWork/:id',
  headers: {'content-type': 'application/json'},
  data: {
    alternateLink: '',
    assigneeMode: '',
    assignment: {studentWorkFolder: {alternateLink: '', id: '', title: ''}},
    associatedWithDeveloper: false,
    courseId: '',
    creationTime: '',
    creatorUserId: '',
    description: '',
    dueDate: {day: 0, month: 0, year: 0},
    dueTime: {hours: 0, minutes: 0, nanos: 0, seconds: 0},
    gradeCategory: {defaultGradeDenominator: 0, id: '', name: '', weight: 0},
    id: '',
    individualStudentsOptions: {studentIds: []},
    materials: [
      {
        driveFile: {
          driveFile: {alternateLink: '', id: '', thumbnailUrl: '', title: ''},
          shareMode: ''
        },
        form: {formUrl: '', responseUrl: '', thumbnailUrl: '', title: ''},
        link: {thumbnailUrl: '', title: '', url: ''},
        youtubeVideo: {alternateLink: '', id: '', thumbnailUrl: '', title: ''}
      }
    ],
    maxPoints: '',
    multipleChoiceQuestion: {choices: []},
    scheduledTime: '',
    state: '',
    submissionModificationMode: '',
    title: '',
    topicId: '',
    updateTime: '',
    workType: ''
  }
};

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

const url = '{{baseUrl}}/v1/courses/:courseId/courseWork/:id';
const options = {
  method: 'PATCH',
  headers: {'content-type': 'application/json'},
  body: '{"alternateLink":"","assigneeMode":"","assignment":{"studentWorkFolder":{"alternateLink":"","id":"","title":""}},"associatedWithDeveloper":false,"courseId":"","creationTime":"","creatorUserId":"","description":"","dueDate":{"day":0,"month":0,"year":0},"dueTime":{"hours":0,"minutes":0,"nanos":0,"seconds":0},"gradeCategory":{"defaultGradeDenominator":0,"id":"","name":"","weight":0},"id":"","individualStudentsOptions":{"studentIds":[]},"materials":[{"driveFile":{"driveFile":{"alternateLink":"","id":"","thumbnailUrl":"","title":""},"shareMode":""},"form":{"formUrl":"","responseUrl":"","thumbnailUrl":"","title":""},"link":{"thumbnailUrl":"","title":"","url":""},"youtubeVideo":{"alternateLink":"","id":"","thumbnailUrl":"","title":""}}],"maxPoints":"","multipleChoiceQuestion":{"choices":[]},"scheduledTime":"","state":"","submissionModificationMode":"","title":"","topicId":"","updateTime":"","workType":""}'
};

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

NSDictionary *headers = @{ @"content-type": @"application/json" };
NSDictionary *parameters = @{ @"alternateLink": @"",
                              @"assigneeMode": @"",
                              @"assignment": @{ @"studentWorkFolder": @{ @"alternateLink": @"", @"id": @"", @"title": @"" } },
                              @"associatedWithDeveloper": @NO,
                              @"courseId": @"",
                              @"creationTime": @"",
                              @"creatorUserId": @"",
                              @"description": @"",
                              @"dueDate": @{ @"day": @0, @"month": @0, @"year": @0 },
                              @"dueTime": @{ @"hours": @0, @"minutes": @0, @"nanos": @0, @"seconds": @0 },
                              @"gradeCategory": @{ @"defaultGradeDenominator": @0, @"id": @"", @"name": @"", @"weight": @0 },
                              @"id": @"",
                              @"individualStudentsOptions": @{ @"studentIds": @[  ] },
                              @"materials": @[ @{ @"driveFile": @{ @"driveFile": @{ @"alternateLink": @"", @"id": @"", @"thumbnailUrl": @"", @"title": @"" }, @"shareMode": @"" }, @"form": @{ @"formUrl": @"", @"responseUrl": @"", @"thumbnailUrl": @"", @"title": @"" }, @"link": @{ @"thumbnailUrl": @"", @"title": @"", @"url": @"" }, @"youtubeVideo": @{ @"alternateLink": @"", @"id": @"", @"thumbnailUrl": @"", @"title": @"" } } ],
                              @"maxPoints": @"",
                              @"multipleChoiceQuestion": @{ @"choices": @[  ] },
                              @"scheduledTime": @"",
                              @"state": @"",
                              @"submissionModificationMode": @"",
                              @"title": @"",
                              @"topicId": @"",
                              @"updateTime": @"",
                              @"workType": @"" };

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

NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"{{baseUrl}}/v1/courses/:courseId/courseWork/:id"]
                                                       cachePolicy:NSURLRequestUseProtocolCachePolicy
                                                   timeoutInterval:10.0];
[request setHTTPMethod:@"PATCH"];
[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}}/v1/courses/:courseId/courseWork/:id" in
let headers = Header.add (Header.init ()) "content-type" "application/json" in
let body = Cohttp_lwt_body.of_string "{\n  \"alternateLink\": \"\",\n  \"assigneeMode\": \"\",\n  \"assignment\": {\n    \"studentWorkFolder\": {\n      \"alternateLink\": \"\",\n      \"id\": \"\",\n      \"title\": \"\"\n    }\n  },\n  \"associatedWithDeveloper\": false,\n  \"courseId\": \"\",\n  \"creationTime\": \"\",\n  \"creatorUserId\": \"\",\n  \"description\": \"\",\n  \"dueDate\": {\n    \"day\": 0,\n    \"month\": 0,\n    \"year\": 0\n  },\n  \"dueTime\": {\n    \"hours\": 0,\n    \"minutes\": 0,\n    \"nanos\": 0,\n    \"seconds\": 0\n  },\n  \"gradeCategory\": {\n    \"defaultGradeDenominator\": 0,\n    \"id\": \"\",\n    \"name\": \"\",\n    \"weight\": 0\n  },\n  \"id\": \"\",\n  \"individualStudentsOptions\": {\n    \"studentIds\": []\n  },\n  \"materials\": [\n    {\n      \"driveFile\": {\n        \"driveFile\": {\n          \"alternateLink\": \"\",\n          \"id\": \"\",\n          \"thumbnailUrl\": \"\",\n          \"title\": \"\"\n        },\n        \"shareMode\": \"\"\n      },\n      \"form\": {\n        \"formUrl\": \"\",\n        \"responseUrl\": \"\",\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\"\n      },\n      \"link\": {\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\",\n        \"url\": \"\"\n      },\n      \"youtubeVideo\": {\n        \"alternateLink\": \"\",\n        \"id\": \"\",\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\"\n      }\n    }\n  ],\n  \"maxPoints\": \"\",\n  \"multipleChoiceQuestion\": {\n    \"choices\": []\n  },\n  \"scheduledTime\": \"\",\n  \"state\": \"\",\n  \"submissionModificationMode\": \"\",\n  \"title\": \"\",\n  \"topicId\": \"\",\n  \"updateTime\": \"\",\n  \"workType\": \"\"\n}" in

Client.call ~headers ~body `PATCH uri
>>= fun (res, body_stream) ->
  (* Do stuff with the result *)
 "{{baseUrl}}/v1/courses/:courseId/courseWork/:id",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "PATCH",
  CURLOPT_POSTFIELDS => json_encode([
    'alternateLink' => '',
    'assigneeMode' => '',
    'assignment' => [
        'studentWorkFolder' => [
                'alternateLink' => '',
                'id' => '',
                'title' => ''
        ]
    ],
    'associatedWithDeveloper' => null,
    'courseId' => '',
    'creationTime' => '',
    'creatorUserId' => '',
    'description' => '',
    'dueDate' => [
        'day' => 0,
        'month' => 0,
        'year' => 0
    ],
    'dueTime' => [
        'hours' => 0,
        'minutes' => 0,
        'nanos' => 0,
        'seconds' => 0
    ],
    'gradeCategory' => [
        'defaultGradeDenominator' => 0,
        'id' => '',
        'name' => '',
        'weight' => 0
    ],
    'id' => '',
    'individualStudentsOptions' => [
        'studentIds' => [
                
        ]
    ],
    'materials' => [
        [
                'driveFile' => [
                                'driveFile' => [
                                                                'alternateLink' => '',
                                                                'id' => '',
                                                                'thumbnailUrl' => '',
                                                                'title' => ''
                                ],
                                'shareMode' => ''
                ],
                'form' => [
                                'formUrl' => '',
                                'responseUrl' => '',
                                'thumbnailUrl' => '',
                                'title' => ''
                ],
                'link' => [
                                'thumbnailUrl' => '',
                                'title' => '',
                                'url' => ''
                ],
                'youtubeVideo' => [
                                'alternateLink' => '',
                                'id' => '',
                                'thumbnailUrl' => '',
                                'title' => ''
                ]
        ]
    ],
    'maxPoints' => '',
    'multipleChoiceQuestion' => [
        'choices' => [
                
        ]
    ],
    'scheduledTime' => '',
    'state' => '',
    'submissionModificationMode' => '',
    'title' => '',
    'topicId' => '',
    'updateTime' => '',
    'workType' => ''
  ]),
  CURLOPT_HTTPHEADER => [
    "content-type: application/json"
  ],
]);

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

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
request('PATCH', '{{baseUrl}}/v1/courses/:courseId/courseWork/:id', [
  'body' => '{
  "alternateLink": "",
  "assigneeMode": "",
  "assignment": {
    "studentWorkFolder": {
      "alternateLink": "",
      "id": "",
      "title": ""
    }
  },
  "associatedWithDeveloper": false,
  "courseId": "",
  "creationTime": "",
  "creatorUserId": "",
  "description": "",
  "dueDate": {
    "day": 0,
    "month": 0,
    "year": 0
  },
  "dueTime": {
    "hours": 0,
    "minutes": 0,
    "nanos": 0,
    "seconds": 0
  },
  "gradeCategory": {
    "defaultGradeDenominator": 0,
    "id": "",
    "name": "",
    "weight": 0
  },
  "id": "",
  "individualStudentsOptions": {
    "studentIds": []
  },
  "materials": [
    {
      "driveFile": {
        "driveFile": {
          "alternateLink": "",
          "id": "",
          "thumbnailUrl": "",
          "title": ""
        },
        "shareMode": ""
      },
      "form": {
        "formUrl": "",
        "responseUrl": "",
        "thumbnailUrl": "",
        "title": ""
      },
      "link": {
        "thumbnailUrl": "",
        "title": "",
        "url": ""
      },
      "youtubeVideo": {
        "alternateLink": "",
        "id": "",
        "thumbnailUrl": "",
        "title": ""
      }
    }
  ],
  "maxPoints": "",
  "multipleChoiceQuestion": {
    "choices": []
  },
  "scheduledTime": "",
  "state": "",
  "submissionModificationMode": "",
  "title": "",
  "topicId": "",
  "updateTime": "",
  "workType": ""
}',
  'headers' => [
    'content-type' => 'application/json',
  ],
]);

echo $response->getBody();
setUrl('{{baseUrl}}/v1/courses/:courseId/courseWork/:id');
$request->setMethod(HttpRequest::HTTP_METH_PATCH);

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

$request->setContentType('application/json');
$request->setBody(json_encode([
  'alternateLink' => '',
  'assigneeMode' => '',
  'assignment' => [
    'studentWorkFolder' => [
        'alternateLink' => '',
        'id' => '',
        'title' => ''
    ]
  ],
  'associatedWithDeveloper' => null,
  'courseId' => '',
  'creationTime' => '',
  'creatorUserId' => '',
  'description' => '',
  'dueDate' => [
    'day' => 0,
    'month' => 0,
    'year' => 0
  ],
  'dueTime' => [
    'hours' => 0,
    'minutes' => 0,
    'nanos' => 0,
    'seconds' => 0
  ],
  'gradeCategory' => [
    'defaultGradeDenominator' => 0,
    'id' => '',
    'name' => '',
    'weight' => 0
  ],
  'id' => '',
  'individualStudentsOptions' => [
    'studentIds' => [
        
    ]
  ],
  'materials' => [
    [
        'driveFile' => [
                'driveFile' => [
                                'alternateLink' => '',
                                'id' => '',
                                'thumbnailUrl' => '',
                                'title' => ''
                ],
                'shareMode' => ''
        ],
        'form' => [
                'formUrl' => '',
                'responseUrl' => '',
                'thumbnailUrl' => '',
                'title' => ''
        ],
        'link' => [
                'thumbnailUrl' => '',
                'title' => '',
                'url' => ''
        ],
        'youtubeVideo' => [
                'alternateLink' => '',
                'id' => '',
                'thumbnailUrl' => '',
                'title' => ''
        ]
    ]
  ],
  'maxPoints' => '',
  'multipleChoiceQuestion' => [
    'choices' => [
        
    ]
  ],
  'scheduledTime' => '',
  'state' => '',
  'submissionModificationMode' => '',
  'title' => '',
  'topicId' => '',
  'updateTime' => '',
  'workType' => ''
]));

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

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
append(json_encode([
  'alternateLink' => '',
  'assigneeMode' => '',
  'assignment' => [
    'studentWorkFolder' => [
        'alternateLink' => '',
        'id' => '',
        'title' => ''
    ]
  ],
  'associatedWithDeveloper' => null,
  'courseId' => '',
  'creationTime' => '',
  'creatorUserId' => '',
  'description' => '',
  'dueDate' => [
    'day' => 0,
    'month' => 0,
    'year' => 0
  ],
  'dueTime' => [
    'hours' => 0,
    'minutes' => 0,
    'nanos' => 0,
    'seconds' => 0
  ],
  'gradeCategory' => [
    'defaultGradeDenominator' => 0,
    'id' => '',
    'name' => '',
    'weight' => 0
  ],
  'id' => '',
  'individualStudentsOptions' => [
    'studentIds' => [
        
    ]
  ],
  'materials' => [
    [
        'driveFile' => [
                'driveFile' => [
                                'alternateLink' => '',
                                'id' => '',
                                'thumbnailUrl' => '',
                                'title' => ''
                ],
                'shareMode' => ''
        ],
        'form' => [
                'formUrl' => '',
                'responseUrl' => '',
                'thumbnailUrl' => '',
                'title' => ''
        ],
        'link' => [
                'thumbnailUrl' => '',
                'title' => '',
                'url' => ''
        ],
        'youtubeVideo' => [
                'alternateLink' => '',
                'id' => '',
                'thumbnailUrl' => '',
                'title' => ''
        ]
    ]
  ],
  'maxPoints' => '',
  'multipleChoiceQuestion' => [
    'choices' => [
        
    ]
  ],
  'scheduledTime' => '',
  'state' => '',
  'submissionModificationMode' => '',
  'title' => '',
  'topicId' => '',
  'updateTime' => '',
  'workType' => ''
]));
$request->setRequestUrl('{{baseUrl}}/v1/courses/:courseId/courseWork/:id');
$request->setRequestMethod('PATCH');
$request->setBody($body);

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

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

echo $response->getBody();
$headers=@{}
$headers.Add("content-type", "application/json")
$response = Invoke-WebRequest -Uri '{{baseUrl}}/v1/courses/:courseId/courseWork/:id' -Method PATCH -Headers $headers -ContentType 'application/json' -Body '{
  "alternateLink": "",
  "assigneeMode": "",
  "assignment": {
    "studentWorkFolder": {
      "alternateLink": "",
      "id": "",
      "title": ""
    }
  },
  "associatedWithDeveloper": false,
  "courseId": "",
  "creationTime": "",
  "creatorUserId": "",
  "description": "",
  "dueDate": {
    "day": 0,
    "month": 0,
    "year": 0
  },
  "dueTime": {
    "hours": 0,
    "minutes": 0,
    "nanos": 0,
    "seconds": 0
  },
  "gradeCategory": {
    "defaultGradeDenominator": 0,
    "id": "",
    "name": "",
    "weight": 0
  },
  "id": "",
  "individualStudentsOptions": {
    "studentIds": []
  },
  "materials": [
    {
      "driveFile": {
        "driveFile": {
          "alternateLink": "",
          "id": "",
          "thumbnailUrl": "",
          "title": ""
        },
        "shareMode": ""
      },
      "form": {
        "formUrl": "",
        "responseUrl": "",
        "thumbnailUrl": "",
        "title": ""
      },
      "link": {
        "thumbnailUrl": "",
        "title": "",
        "url": ""
      },
      "youtubeVideo": {
        "alternateLink": "",
        "id": "",
        "thumbnailUrl": "",
        "title": ""
      }
    }
  ],
  "maxPoints": "",
  "multipleChoiceQuestion": {
    "choices": []
  },
  "scheduledTime": "",
  "state": "",
  "submissionModificationMode": "",
  "title": "",
  "topicId": "",
  "updateTime": "",
  "workType": ""
}'
$headers=@{}
$headers.Add("content-type", "application/json")
$response = Invoke-RestMethod -Uri '{{baseUrl}}/v1/courses/:courseId/courseWork/:id' -Method PATCH -Headers $headers -ContentType 'application/json' -Body '{
  "alternateLink": "",
  "assigneeMode": "",
  "assignment": {
    "studentWorkFolder": {
      "alternateLink": "",
      "id": "",
      "title": ""
    }
  },
  "associatedWithDeveloper": false,
  "courseId": "",
  "creationTime": "",
  "creatorUserId": "",
  "description": "",
  "dueDate": {
    "day": 0,
    "month": 0,
    "year": 0
  },
  "dueTime": {
    "hours": 0,
    "minutes": 0,
    "nanos": 0,
    "seconds": 0
  },
  "gradeCategory": {
    "defaultGradeDenominator": 0,
    "id": "",
    "name": "",
    "weight": 0
  },
  "id": "",
  "individualStudentsOptions": {
    "studentIds": []
  },
  "materials": [
    {
      "driveFile": {
        "driveFile": {
          "alternateLink": "",
          "id": "",
          "thumbnailUrl": "",
          "title": ""
        },
        "shareMode": ""
      },
      "form": {
        "formUrl": "",
        "responseUrl": "",
        "thumbnailUrl": "",
        "title": ""
      },
      "link": {
        "thumbnailUrl": "",
        "title": "",
        "url": ""
      },
      "youtubeVideo": {
        "alternateLink": "",
        "id": "",
        "thumbnailUrl": "",
        "title": ""
      }
    }
  ],
  "maxPoints": "",
  "multipleChoiceQuestion": {
    "choices": []
  },
  "scheduledTime": "",
  "state": "",
  "submissionModificationMode": "",
  "title": "",
  "topicId": "",
  "updateTime": "",
  "workType": ""
}'
import http.client

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

payload = "{\n  \"alternateLink\": \"\",\n  \"assigneeMode\": \"\",\n  \"assignment\": {\n    \"studentWorkFolder\": {\n      \"alternateLink\": \"\",\n      \"id\": \"\",\n      \"title\": \"\"\n    }\n  },\n  \"associatedWithDeveloper\": false,\n  \"courseId\": \"\",\n  \"creationTime\": \"\",\n  \"creatorUserId\": \"\",\n  \"description\": \"\",\n  \"dueDate\": {\n    \"day\": 0,\n    \"month\": 0,\n    \"year\": 0\n  },\n  \"dueTime\": {\n    \"hours\": 0,\n    \"minutes\": 0,\n    \"nanos\": 0,\n    \"seconds\": 0\n  },\n  \"gradeCategory\": {\n    \"defaultGradeDenominator\": 0,\n    \"id\": \"\",\n    \"name\": \"\",\n    \"weight\": 0\n  },\n  \"id\": \"\",\n  \"individualStudentsOptions\": {\n    \"studentIds\": []\n  },\n  \"materials\": [\n    {\n      \"driveFile\": {\n        \"driveFile\": {\n          \"alternateLink\": \"\",\n          \"id\": \"\",\n          \"thumbnailUrl\": \"\",\n          \"title\": \"\"\n        },\n        \"shareMode\": \"\"\n      },\n      \"form\": {\n        \"formUrl\": \"\",\n        \"responseUrl\": \"\",\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\"\n      },\n      \"link\": {\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\",\n        \"url\": \"\"\n      },\n      \"youtubeVideo\": {\n        \"alternateLink\": \"\",\n        \"id\": \"\",\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\"\n      }\n    }\n  ],\n  \"maxPoints\": \"\",\n  \"multipleChoiceQuestion\": {\n    \"choices\": []\n  },\n  \"scheduledTime\": \"\",\n  \"state\": \"\",\n  \"submissionModificationMode\": \"\",\n  \"title\": \"\",\n  \"topicId\": \"\",\n  \"updateTime\": \"\",\n  \"workType\": \"\"\n}"

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

conn.request("PATCH", "/baseUrl/v1/courses/:courseId/courseWork/:id", payload, headers)

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

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

url = "{{baseUrl}}/v1/courses/:courseId/courseWork/:id"

payload = {
    "alternateLink": "",
    "assigneeMode": "",
    "assignment": { "studentWorkFolder": {
            "alternateLink": "",
            "id": "",
            "title": ""
        } },
    "associatedWithDeveloper": False,
    "courseId": "",
    "creationTime": "",
    "creatorUserId": "",
    "description": "",
    "dueDate": {
        "day": 0,
        "month": 0,
        "year": 0
    },
    "dueTime": {
        "hours": 0,
        "minutes": 0,
        "nanos": 0,
        "seconds": 0
    },
    "gradeCategory": {
        "defaultGradeDenominator": 0,
        "id": "",
        "name": "",
        "weight": 0
    },
    "id": "",
    "individualStudentsOptions": { "studentIds": [] },
    "materials": [
        {
            "driveFile": {
                "driveFile": {
                    "alternateLink": "",
                    "id": "",
                    "thumbnailUrl": "",
                    "title": ""
                },
                "shareMode": ""
            },
            "form": {
                "formUrl": "",
                "responseUrl": "",
                "thumbnailUrl": "",
                "title": ""
            },
            "link": {
                "thumbnailUrl": "",
                "title": "",
                "url": ""
            },
            "youtubeVideo": {
                "alternateLink": "",
                "id": "",
                "thumbnailUrl": "",
                "title": ""
            }
        }
    ],
    "maxPoints": "",
    "multipleChoiceQuestion": { "choices": [] },
    "scheduledTime": "",
    "state": "",
    "submissionModificationMode": "",
    "title": "",
    "topicId": "",
    "updateTime": "",
    "workType": ""
}
headers = {"content-type": "application/json"}

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

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

url <- "{{baseUrl}}/v1/courses/:courseId/courseWork/:id"

payload <- "{\n  \"alternateLink\": \"\",\n  \"assigneeMode\": \"\",\n  \"assignment\": {\n    \"studentWorkFolder\": {\n      \"alternateLink\": \"\",\n      \"id\": \"\",\n      \"title\": \"\"\n    }\n  },\n  \"associatedWithDeveloper\": false,\n  \"courseId\": \"\",\n  \"creationTime\": \"\",\n  \"creatorUserId\": \"\",\n  \"description\": \"\",\n  \"dueDate\": {\n    \"day\": 0,\n    \"month\": 0,\n    \"year\": 0\n  },\n  \"dueTime\": {\n    \"hours\": 0,\n    \"minutes\": 0,\n    \"nanos\": 0,\n    \"seconds\": 0\n  },\n  \"gradeCategory\": {\n    \"defaultGradeDenominator\": 0,\n    \"id\": \"\",\n    \"name\": \"\",\n    \"weight\": 0\n  },\n  \"id\": \"\",\n  \"individualStudentsOptions\": {\n    \"studentIds\": []\n  },\n  \"materials\": [\n    {\n      \"driveFile\": {\n        \"driveFile\": {\n          \"alternateLink\": \"\",\n          \"id\": \"\",\n          \"thumbnailUrl\": \"\",\n          \"title\": \"\"\n        },\n        \"shareMode\": \"\"\n      },\n      \"form\": {\n        \"formUrl\": \"\",\n        \"responseUrl\": \"\",\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\"\n      },\n      \"link\": {\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\",\n        \"url\": \"\"\n      },\n      \"youtubeVideo\": {\n        \"alternateLink\": \"\",\n        \"id\": \"\",\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\"\n      }\n    }\n  ],\n  \"maxPoints\": \"\",\n  \"multipleChoiceQuestion\": {\n    \"choices\": []\n  },\n  \"scheduledTime\": \"\",\n  \"state\": \"\",\n  \"submissionModificationMode\": \"\",\n  \"title\": \"\",\n  \"topicId\": \"\",\n  \"updateTime\": \"\",\n  \"workType\": \"\"\n}"

encode <- "json"

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

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

url = URI("{{baseUrl}}/v1/courses/:courseId/courseWork/:id")

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

request = Net::HTTP::Patch.new(url)
request["content-type"] = 'application/json'
request.body = "{\n  \"alternateLink\": \"\",\n  \"assigneeMode\": \"\",\n  \"assignment\": {\n    \"studentWorkFolder\": {\n      \"alternateLink\": \"\",\n      \"id\": \"\",\n      \"title\": \"\"\n    }\n  },\n  \"associatedWithDeveloper\": false,\n  \"courseId\": \"\",\n  \"creationTime\": \"\",\n  \"creatorUserId\": \"\",\n  \"description\": \"\",\n  \"dueDate\": {\n    \"day\": 0,\n    \"month\": 0,\n    \"year\": 0\n  },\n  \"dueTime\": {\n    \"hours\": 0,\n    \"minutes\": 0,\n    \"nanos\": 0,\n    \"seconds\": 0\n  },\n  \"gradeCategory\": {\n    \"defaultGradeDenominator\": 0,\n    \"id\": \"\",\n    \"name\": \"\",\n    \"weight\": 0\n  },\n  \"id\": \"\",\n  \"individualStudentsOptions\": {\n    \"studentIds\": []\n  },\n  \"materials\": [\n    {\n      \"driveFile\": {\n        \"driveFile\": {\n          \"alternateLink\": \"\",\n          \"id\": \"\",\n          \"thumbnailUrl\": \"\",\n          \"title\": \"\"\n        },\n        \"shareMode\": \"\"\n      },\n      \"form\": {\n        \"formUrl\": \"\",\n        \"responseUrl\": \"\",\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\"\n      },\n      \"link\": {\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\",\n        \"url\": \"\"\n      },\n      \"youtubeVideo\": {\n        \"alternateLink\": \"\",\n        \"id\": \"\",\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\"\n      }\n    }\n  ],\n  \"maxPoints\": \"\",\n  \"multipleChoiceQuestion\": {\n    \"choices\": []\n  },\n  \"scheduledTime\": \"\",\n  \"state\": \"\",\n  \"submissionModificationMode\": \"\",\n  \"title\": \"\",\n  \"topicId\": \"\",\n  \"updateTime\": \"\",\n  \"workType\": \"\"\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.patch('/baseUrl/v1/courses/:courseId/courseWork/:id') do |req|
  req.body = "{\n  \"alternateLink\": \"\",\n  \"assigneeMode\": \"\",\n  \"assignment\": {\n    \"studentWorkFolder\": {\n      \"alternateLink\": \"\",\n      \"id\": \"\",\n      \"title\": \"\"\n    }\n  },\n  \"associatedWithDeveloper\": false,\n  \"courseId\": \"\",\n  \"creationTime\": \"\",\n  \"creatorUserId\": \"\",\n  \"description\": \"\",\n  \"dueDate\": {\n    \"day\": 0,\n    \"month\": 0,\n    \"year\": 0\n  },\n  \"dueTime\": {\n    \"hours\": 0,\n    \"minutes\": 0,\n    \"nanos\": 0,\n    \"seconds\": 0\n  },\n  \"gradeCategory\": {\n    \"defaultGradeDenominator\": 0,\n    \"id\": \"\",\n    \"name\": \"\",\n    \"weight\": 0\n  },\n  \"id\": \"\",\n  \"individualStudentsOptions\": {\n    \"studentIds\": []\n  },\n  \"materials\": [\n    {\n      \"driveFile\": {\n        \"driveFile\": {\n          \"alternateLink\": \"\",\n          \"id\": \"\",\n          \"thumbnailUrl\": \"\",\n          \"title\": \"\"\n        },\n        \"shareMode\": \"\"\n      },\n      \"form\": {\n        \"formUrl\": \"\",\n        \"responseUrl\": \"\",\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\"\n      },\n      \"link\": {\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\",\n        \"url\": \"\"\n      },\n      \"youtubeVideo\": {\n        \"alternateLink\": \"\",\n        \"id\": \"\",\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\"\n      }\n    }\n  ],\n  \"maxPoints\": \"\",\n  \"multipleChoiceQuestion\": {\n    \"choices\": []\n  },\n  \"scheduledTime\": \"\",\n  \"state\": \"\",\n  \"submissionModificationMode\": \"\",\n  \"title\": \"\",\n  \"topicId\": \"\",\n  \"updateTime\": \"\",\n  \"workType\": \"\"\n}"
end

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

#[tokio::main]
pub async fn main() {
    let url = "{{baseUrl}}/v1/courses/:courseId/courseWork/:id";

    let payload = json!({
        "alternateLink": "",
        "assigneeMode": "",
        "assignment": json!({"studentWorkFolder": json!({
                "alternateLink": "",
                "id": "",
                "title": ""
            })}),
        "associatedWithDeveloper": false,
        "courseId": "",
        "creationTime": "",
        "creatorUserId": "",
        "description": "",
        "dueDate": json!({
            "day": 0,
            "month": 0,
            "year": 0
        }),
        "dueTime": json!({
            "hours": 0,
            "minutes": 0,
            "nanos": 0,
            "seconds": 0
        }),
        "gradeCategory": json!({
            "defaultGradeDenominator": 0,
            "id": "",
            "name": "",
            "weight": 0
        }),
        "id": "",
        "individualStudentsOptions": json!({"studentIds": ()}),
        "materials": (
            json!({
                "driveFile": json!({
                    "driveFile": json!({
                        "alternateLink": "",
                        "id": "",
                        "thumbnailUrl": "",
                        "title": ""
                    }),
                    "shareMode": ""
                }),
                "form": json!({
                    "formUrl": "",
                    "responseUrl": "",
                    "thumbnailUrl": "",
                    "title": ""
                }),
                "link": json!({
                    "thumbnailUrl": "",
                    "title": "",
                    "url": ""
                }),
                "youtubeVideo": json!({
                    "alternateLink": "",
                    "id": "",
                    "thumbnailUrl": "",
                    "title": ""
                })
            })
        ),
        "maxPoints": "",
        "multipleChoiceQuestion": json!({"choices": ()}),
        "scheduledTime": "",
        "state": "",
        "submissionModificationMode": "",
        "title": "",
        "topicId": "",
        "updateTime": "",
        "workType": ""
    });

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

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

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

    dbg!(results);
}
curl --request PATCH \
  --url {{baseUrl}}/v1/courses/:courseId/courseWork/:id \
  --header 'content-type: application/json' \
  --data '{
  "alternateLink": "",
  "assigneeMode": "",
  "assignment": {
    "studentWorkFolder": {
      "alternateLink": "",
      "id": "",
      "title": ""
    }
  },
  "associatedWithDeveloper": false,
  "courseId": "",
  "creationTime": "",
  "creatorUserId": "",
  "description": "",
  "dueDate": {
    "day": 0,
    "month": 0,
    "year": 0
  },
  "dueTime": {
    "hours": 0,
    "minutes": 0,
    "nanos": 0,
    "seconds": 0
  },
  "gradeCategory": {
    "defaultGradeDenominator": 0,
    "id": "",
    "name": "",
    "weight": 0
  },
  "id": "",
  "individualStudentsOptions": {
    "studentIds": []
  },
  "materials": [
    {
      "driveFile": {
        "driveFile": {
          "alternateLink": "",
          "id": "",
          "thumbnailUrl": "",
          "title": ""
        },
        "shareMode": ""
      },
      "form": {
        "formUrl": "",
        "responseUrl": "",
        "thumbnailUrl": "",
        "title": ""
      },
      "link": {
        "thumbnailUrl": "",
        "title": "",
        "url": ""
      },
      "youtubeVideo": {
        "alternateLink": "",
        "id": "",
        "thumbnailUrl": "",
        "title": ""
      }
    }
  ],
  "maxPoints": "",
  "multipleChoiceQuestion": {
    "choices": []
  },
  "scheduledTime": "",
  "state": "",
  "submissionModificationMode": "",
  "title": "",
  "topicId": "",
  "updateTime": "",
  "workType": ""
}'
echo '{
  "alternateLink": "",
  "assigneeMode": "",
  "assignment": {
    "studentWorkFolder": {
      "alternateLink": "",
      "id": "",
      "title": ""
    }
  },
  "associatedWithDeveloper": false,
  "courseId": "",
  "creationTime": "",
  "creatorUserId": "",
  "description": "",
  "dueDate": {
    "day": 0,
    "month": 0,
    "year": 0
  },
  "dueTime": {
    "hours": 0,
    "minutes": 0,
    "nanos": 0,
    "seconds": 0
  },
  "gradeCategory": {
    "defaultGradeDenominator": 0,
    "id": "",
    "name": "",
    "weight": 0
  },
  "id": "",
  "individualStudentsOptions": {
    "studentIds": []
  },
  "materials": [
    {
      "driveFile": {
        "driveFile": {
          "alternateLink": "",
          "id": "",
          "thumbnailUrl": "",
          "title": ""
        },
        "shareMode": ""
      },
      "form": {
        "formUrl": "",
        "responseUrl": "",
        "thumbnailUrl": "",
        "title": ""
      },
      "link": {
        "thumbnailUrl": "",
        "title": "",
        "url": ""
      },
      "youtubeVideo": {
        "alternateLink": "",
        "id": "",
        "thumbnailUrl": "",
        "title": ""
      }
    }
  ],
  "maxPoints": "",
  "multipleChoiceQuestion": {
    "choices": []
  },
  "scheduledTime": "",
  "state": "",
  "submissionModificationMode": "",
  "title": "",
  "topicId": "",
  "updateTime": "",
  "workType": ""
}' |  \
  http PATCH {{baseUrl}}/v1/courses/:courseId/courseWork/:id \
  content-type:application/json
wget --quiet \
  --method PATCH \
  --header 'content-type: application/json' \
  --body-data '{\n  "alternateLink": "",\n  "assigneeMode": "",\n  "assignment": {\n    "studentWorkFolder": {\n      "alternateLink": "",\n      "id": "",\n      "title": ""\n    }\n  },\n  "associatedWithDeveloper": false,\n  "courseId": "",\n  "creationTime": "",\n  "creatorUserId": "",\n  "description": "",\n  "dueDate": {\n    "day": 0,\n    "month": 0,\n    "year": 0\n  },\n  "dueTime": {\n    "hours": 0,\n    "minutes": 0,\n    "nanos": 0,\n    "seconds": 0\n  },\n  "gradeCategory": {\n    "defaultGradeDenominator": 0,\n    "id": "",\n    "name": "",\n    "weight": 0\n  },\n  "id": "",\n  "individualStudentsOptions": {\n    "studentIds": []\n  },\n  "materials": [\n    {\n      "driveFile": {\n        "driveFile": {\n          "alternateLink": "",\n          "id": "",\n          "thumbnailUrl": "",\n          "title": ""\n        },\n        "shareMode": ""\n      },\n      "form": {\n        "formUrl": "",\n        "responseUrl": "",\n        "thumbnailUrl": "",\n        "title": ""\n      },\n      "link": {\n        "thumbnailUrl": "",\n        "title": "",\n        "url": ""\n      },\n      "youtubeVideo": {\n        "alternateLink": "",\n        "id": "",\n        "thumbnailUrl": "",\n        "title": ""\n      }\n    }\n  ],\n  "maxPoints": "",\n  "multipleChoiceQuestion": {\n    "choices": []\n  },\n  "scheduledTime": "",\n  "state": "",\n  "submissionModificationMode": "",\n  "title": "",\n  "topicId": "",\n  "updateTime": "",\n  "workType": ""\n}' \
  --output-document \
  - {{baseUrl}}/v1/courses/:courseId/courseWork/:id
import Foundation

let headers = ["content-type": "application/json"]
let parameters = [
  "alternateLink": "",
  "assigneeMode": "",
  "assignment": ["studentWorkFolder": [
      "alternateLink": "",
      "id": "",
      "title": ""
    ]],
  "associatedWithDeveloper": false,
  "courseId": "",
  "creationTime": "",
  "creatorUserId": "",
  "description": "",
  "dueDate": [
    "day": 0,
    "month": 0,
    "year": 0
  ],
  "dueTime": [
    "hours": 0,
    "minutes": 0,
    "nanos": 0,
    "seconds": 0
  ],
  "gradeCategory": [
    "defaultGradeDenominator": 0,
    "id": "",
    "name": "",
    "weight": 0
  ],
  "id": "",
  "individualStudentsOptions": ["studentIds": []],
  "materials": [
    [
      "driveFile": [
        "driveFile": [
          "alternateLink": "",
          "id": "",
          "thumbnailUrl": "",
          "title": ""
        ],
        "shareMode": ""
      ],
      "form": [
        "formUrl": "",
        "responseUrl": "",
        "thumbnailUrl": "",
        "title": ""
      ],
      "link": [
        "thumbnailUrl": "",
        "title": "",
        "url": ""
      ],
      "youtubeVideo": [
        "alternateLink": "",
        "id": "",
        "thumbnailUrl": "",
        "title": ""
      ]
    ]
  ],
  "maxPoints": "",
  "multipleChoiceQuestion": ["choices": []],
  "scheduledTime": "",
  "state": "",
  "submissionModificationMode": "",
  "title": "",
  "topicId": "",
  "updateTime": "",
  "workType": ""
] as [String : Any]

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

let request = NSMutableURLRequest(url: NSURL(string: "{{baseUrl}}/v1/courses/:courseId/courseWork/:id")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "PATCH"
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 classroom.courses.courseWork.studentSubmissions.get
{{baseUrl}}/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions/:id
QUERY PARAMS

courseId
courseWorkId
id
Examples
REQUEST

CURL *hnd = curl_easy_init();

curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET");
curl_easy_setopt(hnd, CURLOPT_URL, "{{baseUrl}}/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions/:id");

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

(client/get "{{baseUrl}}/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions/:id")
require "http/client"

url = "{{baseUrl}}/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions/:id"

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

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

func main() {

	url := "{{baseUrl}}/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions/:id"

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

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

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

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

}
GET /baseUrl/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions/:id HTTP/1.1
Host: example.com

AsyncHttpClient client = new DefaultAsyncHttpClient();
client.prepare("GET", "{{baseUrl}}/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions/:id")
  .execute()
  .toCompletableFuture()
  .thenAccept(System.out::println)
  .join();

client.close();
HttpRequest request = HttpRequest.newBuilder()
    .uri(URI.create("{{baseUrl}}/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions/:id"))
    .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}}/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions/:id")
  .get()
  .build();

Response response = client.newCall(request).execute();
HttpResponse response = Unirest.get("{{baseUrl}}/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions/:id")
  .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}}/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions/:id');

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

const options = {
  method: 'GET',
  url: '{{baseUrl}}/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions/:id'
};

try {
  const { data } = await axios.request(options);
  console.log(data);
} catch (error) {
  console.error(error);
}
const url = '{{baseUrl}}/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions/:id';
const options = {method: 'GET'};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
const settings = {
  async: true,
  crossDomain: true,
  url: '{{baseUrl}}/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions/:id',
  method: 'GET',
  headers: {}
};

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

val request = Request.Builder()
  .url("{{baseUrl}}/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions/:id")
  .get()
  .build()

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

const options = {
  method: 'GET',
  hostname: 'example.com',
  port: null,
  path: '/baseUrl/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions/:id',
  headers: {}
};

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

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

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

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

const options = {
  method: 'GET',
  url: '{{baseUrl}}/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions/:id'
};

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

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

const req = unirest('GET', '{{baseUrl}}/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions/:id');

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}}/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions/:id'
};

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

const url = '{{baseUrl}}/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions/:id';
const options = {method: 'GET'};

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

NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"{{baseUrl}}/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions/:id"]
                                                       cachePolicy:NSURLRequestUseProtocolCachePolicy
                                                   timeoutInterval:10.0];
[request setHTTPMethod:@"GET"];

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

let uri = Uri.of_string "{{baseUrl}}/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions/:id" in

Client.call `GET uri
>>= fun (res, body_stream) ->
  (* Do stuff with the result *)
 "{{baseUrl}}/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions/:id",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "GET",
]);

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

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
request('GET', '{{baseUrl}}/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions/:id');

echo $response->getBody();
setUrl('{{baseUrl}}/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions/:id');
$request->setMethod(HTTP_METH_GET);

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

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
setRequestUrl('{{baseUrl}}/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions/:id');
$request->setRequestMethod('GET');
$client->enqueue($request)->send();
$response = $client->getResponse();

echo $response->getBody();
$response = Invoke-WebRequest -Uri '{{baseUrl}}/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions/:id' -Method GET 
$response = Invoke-RestMethod -Uri '{{baseUrl}}/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions/:id' -Method GET 
import http.client

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

conn.request("GET", "/baseUrl/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions/:id")

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

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

url = "{{baseUrl}}/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions/:id"

response = requests.get(url)

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

url <- "{{baseUrl}}/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions/:id"

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

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

url = URI("{{baseUrl}}/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions/:id")

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

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

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

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

response = conn.get('/baseUrl/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions/:id') do |req|
end

puts response.status
puts response.body
use reqwest;

#[tokio::main]
pub async fn main() {
    let url = "{{baseUrl}}/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions/:id";

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

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

    dbg!(results);
}
curl --request GET \
  --url {{baseUrl}}/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions/:id
http GET {{baseUrl}}/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions/:id
wget --quiet \
  --method GET \
  --output-document \
  - {{baseUrl}}/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions/:id
import Foundation

let request = NSMutableURLRequest(url: NSURL(string: "{{baseUrl}}/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions/:id")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"

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

dataTask.resume()
GET classroom.courses.courseWork.studentSubmissions.list
{{baseUrl}}/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions
QUERY PARAMS

courseId
courseWorkId
Examples
REQUEST

CURL *hnd = curl_easy_init();

curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET");
curl_easy_setopt(hnd, CURLOPT_URL, "{{baseUrl}}/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions");

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

(client/get "{{baseUrl}}/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions")
require "http/client"

url = "{{baseUrl}}/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions"

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

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

func main() {

	url := "{{baseUrl}}/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions"

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

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

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

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

}
GET /baseUrl/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions HTTP/1.1
Host: example.com

AsyncHttpClient client = new DefaultAsyncHttpClient();
client.prepare("GET", "{{baseUrl}}/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions")
  .execute()
  .toCompletableFuture()
  .thenAccept(System.out::println)
  .join();

client.close();
HttpRequest request = HttpRequest.newBuilder()
    .uri(URI.create("{{baseUrl}}/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions"))
    .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}}/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions")
  .get()
  .build();

Response response = client.newCall(request).execute();
HttpResponse response = Unirest.get("{{baseUrl}}/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions")
  .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}}/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions');

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

const options = {
  method: 'GET',
  url: '{{baseUrl}}/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions'
};

try {
  const { data } = await axios.request(options);
  console.log(data);
} catch (error) {
  console.error(error);
}
const url = '{{baseUrl}}/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions';
const options = {method: 'GET'};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
const settings = {
  async: true,
  crossDomain: true,
  url: '{{baseUrl}}/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions',
  method: 'GET',
  headers: {}
};

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

val request = Request.Builder()
  .url("{{baseUrl}}/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions")
  .get()
  .build()

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

const options = {
  method: 'GET',
  hostname: 'example.com',
  port: null,
  path: '/baseUrl/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions',
  headers: {}
};

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

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

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

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

const options = {
  method: 'GET',
  url: '{{baseUrl}}/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions'
};

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

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

const req = unirest('GET', '{{baseUrl}}/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions');

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}}/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions'
};

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

const url = '{{baseUrl}}/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions';
const options = {method: 'GET'};

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

NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"{{baseUrl}}/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions"]
                                                       cachePolicy:NSURLRequestUseProtocolCachePolicy
                                                   timeoutInterval:10.0];
[request setHTTPMethod:@"GET"];

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

let uri = Uri.of_string "{{baseUrl}}/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions" in

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

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

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
request('GET', '{{baseUrl}}/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions');

echo $response->getBody();
setUrl('{{baseUrl}}/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions');
$request->setMethod(HTTP_METH_GET);

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

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
setRequestUrl('{{baseUrl}}/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions');
$request->setRequestMethod('GET');
$client->enqueue($request)->send();
$response = $client->getResponse();

echo $response->getBody();
$response = Invoke-WebRequest -Uri '{{baseUrl}}/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions' -Method GET 
$response = Invoke-RestMethod -Uri '{{baseUrl}}/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions' -Method GET 
import http.client

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

conn.request("GET", "/baseUrl/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions")

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

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

url = "{{baseUrl}}/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions"

response = requests.get(url)

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

url <- "{{baseUrl}}/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions"

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

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

url = URI("{{baseUrl}}/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions")

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

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

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

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

response = conn.get('/baseUrl/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions') do |req|
end

puts response.status
puts response.body
use reqwest;

#[tokio::main]
pub async fn main() {
    let url = "{{baseUrl}}/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions";

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

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

    dbg!(results);
}
curl --request GET \
  --url {{baseUrl}}/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions
http GET {{baseUrl}}/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions
wget --quiet \
  --method GET \
  --output-document \
  - {{baseUrl}}/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions
import Foundation

let request = NSMutableURLRequest(url: NSURL(string: "{{baseUrl}}/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"

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

dataTask.resume()
POST classroom.courses.courseWork.studentSubmissions.modifyAttachments
{{baseUrl}}/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions/:id:modifyAttachments
QUERY PARAMS

courseId
courseWorkId
id
BODY json

{
  "addAttachments": [
    {
      "driveFile": {
        "alternateLink": "",
        "id": "",
        "thumbnailUrl": "",
        "title": ""
      },
      "form": {
        "formUrl": "",
        "responseUrl": "",
        "thumbnailUrl": "",
        "title": ""
      },
      "link": {
        "thumbnailUrl": "",
        "title": "",
        "url": ""
      },
      "youTubeVideo": {
        "alternateLink": "",
        "id": "",
        "thumbnailUrl": "",
        "title": ""
      }
    }
  ]
}
Examples
REQUEST

CURL *hnd = curl_easy_init();

curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "POST");
curl_easy_setopt(hnd, CURLOPT_URL, "{{baseUrl}}/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions/:id:modifyAttachments");

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

curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\n  \"addAttachments\": [\n    {\n      \"driveFile\": {\n        \"alternateLink\": \"\",\n        \"id\": \"\",\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\"\n      },\n      \"form\": {\n        \"formUrl\": \"\",\n        \"responseUrl\": \"\",\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\"\n      },\n      \"link\": {\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\",\n        \"url\": \"\"\n      },\n      \"youTubeVideo\": {\n        \"alternateLink\": \"\",\n        \"id\": \"\",\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\"\n      }\n    }\n  ]\n}");

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

(client/post "{{baseUrl}}/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions/:id:modifyAttachments" {:content-type :json
                                                                                                                                   :form-params {:addAttachments [{:driveFile {:alternateLink ""
                                                                                                                                                                               :id ""
                                                                                                                                                                               :thumbnailUrl ""
                                                                                                                                                                               :title ""}
                                                                                                                                                                   :form {:formUrl ""
                                                                                                                                                                          :responseUrl ""
                                                                                                                                                                          :thumbnailUrl ""
                                                                                                                                                                          :title ""}
                                                                                                                                                                   :link {:thumbnailUrl ""
                                                                                                                                                                          :title ""
                                                                                                                                                                          :url ""}
                                                                                                                                                                   :youTubeVideo {:alternateLink ""
                                                                                                                                                                                  :id ""
                                                                                                                                                                                  :thumbnailUrl ""
                                                                                                                                                                                  :title ""}}]}})
require "http/client"

url = "{{baseUrl}}/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions/:id:modifyAttachments"
headers = HTTP::Headers{
  "content-type" => "application/json"
}
reqBody = "{\n  \"addAttachments\": [\n    {\n      \"driveFile\": {\n        \"alternateLink\": \"\",\n        \"id\": \"\",\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\"\n      },\n      \"form\": {\n        \"formUrl\": \"\",\n        \"responseUrl\": \"\",\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\"\n      },\n      \"link\": {\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\",\n        \"url\": \"\"\n      },\n      \"youTubeVideo\": {\n        \"alternateLink\": \"\",\n        \"id\": \"\",\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\"\n      }\n    }\n  ]\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}}/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions/:id:modifyAttachments"),
    Content = new StringContent("{\n  \"addAttachments\": [\n    {\n      \"driveFile\": {\n        \"alternateLink\": \"\",\n        \"id\": \"\",\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\"\n      },\n      \"form\": {\n        \"formUrl\": \"\",\n        \"responseUrl\": \"\",\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\"\n      },\n      \"link\": {\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\",\n        \"url\": \"\"\n      },\n      \"youTubeVideo\": {\n        \"alternateLink\": \"\",\n        \"id\": \"\",\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\"\n      }\n    }\n  ]\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}}/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions/:id:modifyAttachments");
var request = new RestRequest("", Method.Post);
request.AddHeader("content-type", "application/json");
request.AddParameter("application/json", "{\n  \"addAttachments\": [\n    {\n      \"driveFile\": {\n        \"alternateLink\": \"\",\n        \"id\": \"\",\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\"\n      },\n      \"form\": {\n        \"formUrl\": \"\",\n        \"responseUrl\": \"\",\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\"\n      },\n      \"link\": {\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\",\n        \"url\": \"\"\n      },\n      \"youTubeVideo\": {\n        \"alternateLink\": \"\",\n        \"id\": \"\",\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\"\n      }\n    }\n  ]\n}", ParameterType.RequestBody);
var response = client.Execute(request);
package main

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

func main() {

	url := "{{baseUrl}}/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions/:id:modifyAttachments"

	payload := strings.NewReader("{\n  \"addAttachments\": [\n    {\n      \"driveFile\": {\n        \"alternateLink\": \"\",\n        \"id\": \"\",\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\"\n      },\n      \"form\": {\n        \"formUrl\": \"\",\n        \"responseUrl\": \"\",\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\"\n      },\n      \"link\": {\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\",\n        \"url\": \"\"\n      },\n      \"youTubeVideo\": {\n        \"alternateLink\": \"\",\n        \"id\": \"\",\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\"\n      }\n    }\n  ]\n}")

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

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

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

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

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

}
POST /baseUrl/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions/:id:modifyAttachments HTTP/1.1
Content-Type: application/json
Host: example.com
Content-Length: 508

{
  "addAttachments": [
    {
      "driveFile": {
        "alternateLink": "",
        "id": "",
        "thumbnailUrl": "",
        "title": ""
      },
      "form": {
        "formUrl": "",
        "responseUrl": "",
        "thumbnailUrl": "",
        "title": ""
      },
      "link": {
        "thumbnailUrl": "",
        "title": "",
        "url": ""
      },
      "youTubeVideo": {
        "alternateLink": "",
        "id": "",
        "thumbnailUrl": "",
        "title": ""
      }
    }
  ]
}
AsyncHttpClient client = new DefaultAsyncHttpClient();
client.prepare("POST", "{{baseUrl}}/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions/:id:modifyAttachments")
  .setHeader("content-type", "application/json")
  .setBody("{\n  \"addAttachments\": [\n    {\n      \"driveFile\": {\n        \"alternateLink\": \"\",\n        \"id\": \"\",\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\"\n      },\n      \"form\": {\n        \"formUrl\": \"\",\n        \"responseUrl\": \"\",\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\"\n      },\n      \"link\": {\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\",\n        \"url\": \"\"\n      },\n      \"youTubeVideo\": {\n        \"alternateLink\": \"\",\n        \"id\": \"\",\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\"\n      }\n    }\n  ]\n}")
  .execute()
  .toCompletableFuture()
  .thenAccept(System.out::println)
  .join();

client.close();
HttpRequest request = HttpRequest.newBuilder()
    .uri(URI.create("{{baseUrl}}/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions/:id:modifyAttachments"))
    .header("content-type", "application/json")
    .method("POST", HttpRequest.BodyPublishers.ofString("{\n  \"addAttachments\": [\n    {\n      \"driveFile\": {\n        \"alternateLink\": \"\",\n        \"id\": \"\",\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\"\n      },\n      \"form\": {\n        \"formUrl\": \"\",\n        \"responseUrl\": \"\",\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\"\n      },\n      \"link\": {\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\",\n        \"url\": \"\"\n      },\n      \"youTubeVideo\": {\n        \"alternateLink\": \"\",\n        \"id\": \"\",\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\"\n      }\n    }\n  ]\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  \"addAttachments\": [\n    {\n      \"driveFile\": {\n        \"alternateLink\": \"\",\n        \"id\": \"\",\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\"\n      },\n      \"form\": {\n        \"formUrl\": \"\",\n        \"responseUrl\": \"\",\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\"\n      },\n      \"link\": {\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\",\n        \"url\": \"\"\n      },\n      \"youTubeVideo\": {\n        \"alternateLink\": \"\",\n        \"id\": \"\",\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\"\n      }\n    }\n  ]\n}");
Request request = new Request.Builder()
  .url("{{baseUrl}}/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions/:id:modifyAttachments")
  .post(body)
  .addHeader("content-type", "application/json")
  .build();

Response response = client.newCall(request).execute();
HttpResponse response = Unirest.post("{{baseUrl}}/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions/:id:modifyAttachments")
  .header("content-type", "application/json")
  .body("{\n  \"addAttachments\": [\n    {\n      \"driveFile\": {\n        \"alternateLink\": \"\",\n        \"id\": \"\",\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\"\n      },\n      \"form\": {\n        \"formUrl\": \"\",\n        \"responseUrl\": \"\",\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\"\n      },\n      \"link\": {\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\",\n        \"url\": \"\"\n      },\n      \"youTubeVideo\": {\n        \"alternateLink\": \"\",\n        \"id\": \"\",\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\"\n      }\n    }\n  ]\n}")
  .asString();
const data = JSON.stringify({
  addAttachments: [
    {
      driveFile: {
        alternateLink: '',
        id: '',
        thumbnailUrl: '',
        title: ''
      },
      form: {
        formUrl: '',
        responseUrl: '',
        thumbnailUrl: '',
        title: ''
      },
      link: {
        thumbnailUrl: '',
        title: '',
        url: ''
      },
      youTubeVideo: {
        alternateLink: '',
        id: '',
        thumbnailUrl: '',
        title: ''
      }
    }
  ]
});

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

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

xhr.open('POST', '{{baseUrl}}/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions/:id:modifyAttachments');
xhr.setRequestHeader('content-type', 'application/json');

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

const options = {
  method: 'POST',
  url: '{{baseUrl}}/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions/:id:modifyAttachments',
  headers: {'content-type': 'application/json'},
  data: {
    addAttachments: [
      {
        driveFile: {alternateLink: '', id: '', thumbnailUrl: '', title: ''},
        form: {formUrl: '', responseUrl: '', thumbnailUrl: '', title: ''},
        link: {thumbnailUrl: '', title: '', url: ''},
        youTubeVideo: {alternateLink: '', id: '', thumbnailUrl: '', title: ''}
      }
    ]
  }
};

try {
  const { data } = await axios.request(options);
  console.log(data);
} catch (error) {
  console.error(error);
}
const url = '{{baseUrl}}/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions/:id:modifyAttachments';
const options = {
  method: 'POST',
  headers: {'content-type': 'application/json'},
  body: '{"addAttachments":[{"driveFile":{"alternateLink":"","id":"","thumbnailUrl":"","title":""},"form":{"formUrl":"","responseUrl":"","thumbnailUrl":"","title":""},"link":{"thumbnailUrl":"","title":"","url":""},"youTubeVideo":{"alternateLink":"","id":"","thumbnailUrl":"","title":""}}]}'
};

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}}/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions/:id:modifyAttachments',
  method: 'POST',
  headers: {
    'content-type': 'application/json'
  },
  processData: false,
  data: '{\n  "addAttachments": [\n    {\n      "driveFile": {\n        "alternateLink": "",\n        "id": "",\n        "thumbnailUrl": "",\n        "title": ""\n      },\n      "form": {\n        "formUrl": "",\n        "responseUrl": "",\n        "thumbnailUrl": "",\n        "title": ""\n      },\n      "link": {\n        "thumbnailUrl": "",\n        "title": "",\n        "url": ""\n      },\n      "youTubeVideo": {\n        "alternateLink": "",\n        "id": "",\n        "thumbnailUrl": "",\n        "title": ""\n      }\n    }\n  ]\n}'
};

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

val mediaType = MediaType.parse("application/json")
val body = RequestBody.create(mediaType, "{\n  \"addAttachments\": [\n    {\n      \"driveFile\": {\n        \"alternateLink\": \"\",\n        \"id\": \"\",\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\"\n      },\n      \"form\": {\n        \"formUrl\": \"\",\n        \"responseUrl\": \"\",\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\"\n      },\n      \"link\": {\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\",\n        \"url\": \"\"\n      },\n      \"youTubeVideo\": {\n        \"alternateLink\": \"\",\n        \"id\": \"\",\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\"\n      }\n    }\n  ]\n}")
val request = Request.Builder()
  .url("{{baseUrl}}/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions/:id:modifyAttachments")
  .post(body)
  .addHeader("content-type", "application/json")
  .build()

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

const options = {
  method: 'POST',
  hostname: 'example.com',
  port: null,
  path: '/baseUrl/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions/:id:modifyAttachments',
  headers: {
    'content-type': 'application/json'
  }
};

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

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

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

req.write(JSON.stringify({
  addAttachments: [
    {
      driveFile: {alternateLink: '', id: '', thumbnailUrl: '', title: ''},
      form: {formUrl: '', responseUrl: '', thumbnailUrl: '', title: ''},
      link: {thumbnailUrl: '', title: '', url: ''},
      youTubeVideo: {alternateLink: '', id: '', thumbnailUrl: '', title: ''}
    }
  ]
}));
req.end();
const request = require('request');

const options = {
  method: 'POST',
  url: '{{baseUrl}}/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions/:id:modifyAttachments',
  headers: {'content-type': 'application/json'},
  body: {
    addAttachments: [
      {
        driveFile: {alternateLink: '', id: '', thumbnailUrl: '', title: ''},
        form: {formUrl: '', responseUrl: '', thumbnailUrl: '', title: ''},
        link: {thumbnailUrl: '', title: '', url: ''},
        youTubeVideo: {alternateLink: '', id: '', thumbnailUrl: '', title: ''}
      }
    ]
  },
  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}}/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions/:id:modifyAttachments');

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

req.type('json');
req.send({
  addAttachments: [
    {
      driveFile: {
        alternateLink: '',
        id: '',
        thumbnailUrl: '',
        title: ''
      },
      form: {
        formUrl: '',
        responseUrl: '',
        thumbnailUrl: '',
        title: ''
      },
      link: {
        thumbnailUrl: '',
        title: '',
        url: ''
      },
      youTubeVideo: {
        alternateLink: '',
        id: '',
        thumbnailUrl: '',
        title: ''
      }
    }
  ]
});

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}}/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions/:id:modifyAttachments',
  headers: {'content-type': 'application/json'},
  data: {
    addAttachments: [
      {
        driveFile: {alternateLink: '', id: '', thumbnailUrl: '', title: ''},
        form: {formUrl: '', responseUrl: '', thumbnailUrl: '', title: ''},
        link: {thumbnailUrl: '', title: '', url: ''},
        youTubeVideo: {alternateLink: '', id: '', thumbnailUrl: '', title: ''}
      }
    ]
  }
};

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

const url = '{{baseUrl}}/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions/:id:modifyAttachments';
const options = {
  method: 'POST',
  headers: {'content-type': 'application/json'},
  body: '{"addAttachments":[{"driveFile":{"alternateLink":"","id":"","thumbnailUrl":"","title":""},"form":{"formUrl":"","responseUrl":"","thumbnailUrl":"","title":""},"link":{"thumbnailUrl":"","title":"","url":""},"youTubeVideo":{"alternateLink":"","id":"","thumbnailUrl":"","title":""}}]}'
};

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

NSDictionary *headers = @{ @"content-type": @"application/json" };
NSDictionary *parameters = @{ @"addAttachments": @[ @{ @"driveFile": @{ @"alternateLink": @"", @"id": @"", @"thumbnailUrl": @"", @"title": @"" }, @"form": @{ @"formUrl": @"", @"responseUrl": @"", @"thumbnailUrl": @"", @"title": @"" }, @"link": @{ @"thumbnailUrl": @"", @"title": @"", @"url": @"" }, @"youTubeVideo": @{ @"alternateLink": @"", @"id": @"", @"thumbnailUrl": @"", @"title": @"" } } ] };

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

NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"{{baseUrl}}/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions/:id:modifyAttachments"]
                                                       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}}/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions/:id:modifyAttachments" in
let headers = Header.add (Header.init ()) "content-type" "application/json" in
let body = Cohttp_lwt_body.of_string "{\n  \"addAttachments\": [\n    {\n      \"driveFile\": {\n        \"alternateLink\": \"\",\n        \"id\": \"\",\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\"\n      },\n      \"form\": {\n        \"formUrl\": \"\",\n        \"responseUrl\": \"\",\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\"\n      },\n      \"link\": {\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\",\n        \"url\": \"\"\n      },\n      \"youTubeVideo\": {\n        \"alternateLink\": \"\",\n        \"id\": \"\",\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\"\n      }\n    }\n  ]\n}" in

Client.call ~headers ~body `POST uri
>>= fun (res, body_stream) ->
  (* Do stuff with the result *)
 "{{baseUrl}}/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions/:id:modifyAttachments",
  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([
    'addAttachments' => [
        [
                'driveFile' => [
                                'alternateLink' => '',
                                'id' => '',
                                'thumbnailUrl' => '',
                                'title' => ''
                ],
                'form' => [
                                'formUrl' => '',
                                'responseUrl' => '',
                                'thumbnailUrl' => '',
                                'title' => ''
                ],
                'link' => [
                                'thumbnailUrl' => '',
                                'title' => '',
                                'url' => ''
                ],
                'youTubeVideo' => [
                                'alternateLink' => '',
                                'id' => '',
                                'thumbnailUrl' => '',
                                'title' => ''
                ]
        ]
    ]
  ]),
  CURLOPT_HTTPHEADER => [
    "content-type: application/json"
  ],
]);

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

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
request('POST', '{{baseUrl}}/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions/:id:modifyAttachments', [
  'body' => '{
  "addAttachments": [
    {
      "driveFile": {
        "alternateLink": "",
        "id": "",
        "thumbnailUrl": "",
        "title": ""
      },
      "form": {
        "formUrl": "",
        "responseUrl": "",
        "thumbnailUrl": "",
        "title": ""
      },
      "link": {
        "thumbnailUrl": "",
        "title": "",
        "url": ""
      },
      "youTubeVideo": {
        "alternateLink": "",
        "id": "",
        "thumbnailUrl": "",
        "title": ""
      }
    }
  ]
}',
  'headers' => [
    'content-type' => 'application/json',
  ],
]);

echo $response->getBody();
setUrl('{{baseUrl}}/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions/:id:modifyAttachments');
$request->setMethod(HTTP_METH_POST);

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

$request->setContentType('application/json');
$request->setBody(json_encode([
  'addAttachments' => [
    [
        'driveFile' => [
                'alternateLink' => '',
                'id' => '',
                'thumbnailUrl' => '',
                'title' => ''
        ],
        'form' => [
                'formUrl' => '',
                'responseUrl' => '',
                'thumbnailUrl' => '',
                'title' => ''
        ],
        'link' => [
                'thumbnailUrl' => '',
                'title' => '',
                'url' => ''
        ],
        'youTubeVideo' => [
                'alternateLink' => '',
                'id' => '',
                'thumbnailUrl' => '',
                'title' => ''
        ]
    ]
  ]
]));

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

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
append(json_encode([
  'addAttachments' => [
    [
        'driveFile' => [
                'alternateLink' => '',
                'id' => '',
                'thumbnailUrl' => '',
                'title' => ''
        ],
        'form' => [
                'formUrl' => '',
                'responseUrl' => '',
                'thumbnailUrl' => '',
                'title' => ''
        ],
        'link' => [
                'thumbnailUrl' => '',
                'title' => '',
                'url' => ''
        ],
        'youTubeVideo' => [
                'alternateLink' => '',
                'id' => '',
                'thumbnailUrl' => '',
                'title' => ''
        ]
    ]
  ]
]));
$request->setRequestUrl('{{baseUrl}}/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions/:id:modifyAttachments');
$request->setRequestMethod('POST');
$request->setBody($body);

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

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

echo $response->getBody();
$headers=@{}
$headers.Add("content-type", "application/json")
$response = Invoke-WebRequest -Uri '{{baseUrl}}/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions/:id:modifyAttachments' -Method POST -Headers $headers -ContentType 'application/json' -Body '{
  "addAttachments": [
    {
      "driveFile": {
        "alternateLink": "",
        "id": "",
        "thumbnailUrl": "",
        "title": ""
      },
      "form": {
        "formUrl": "",
        "responseUrl": "",
        "thumbnailUrl": "",
        "title": ""
      },
      "link": {
        "thumbnailUrl": "",
        "title": "",
        "url": ""
      },
      "youTubeVideo": {
        "alternateLink": "",
        "id": "",
        "thumbnailUrl": "",
        "title": ""
      }
    }
  ]
}'
$headers=@{}
$headers.Add("content-type", "application/json")
$response = Invoke-RestMethod -Uri '{{baseUrl}}/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions/:id:modifyAttachments' -Method POST -Headers $headers -ContentType 'application/json' -Body '{
  "addAttachments": [
    {
      "driveFile": {
        "alternateLink": "",
        "id": "",
        "thumbnailUrl": "",
        "title": ""
      },
      "form": {
        "formUrl": "",
        "responseUrl": "",
        "thumbnailUrl": "",
        "title": ""
      },
      "link": {
        "thumbnailUrl": "",
        "title": "",
        "url": ""
      },
      "youTubeVideo": {
        "alternateLink": "",
        "id": "",
        "thumbnailUrl": "",
        "title": ""
      }
    }
  ]
}'
import http.client

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

payload = "{\n  \"addAttachments\": [\n    {\n      \"driveFile\": {\n        \"alternateLink\": \"\",\n        \"id\": \"\",\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\"\n      },\n      \"form\": {\n        \"formUrl\": \"\",\n        \"responseUrl\": \"\",\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\"\n      },\n      \"link\": {\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\",\n        \"url\": \"\"\n      },\n      \"youTubeVideo\": {\n        \"alternateLink\": \"\",\n        \"id\": \"\",\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\"\n      }\n    }\n  ]\n}"

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

conn.request("POST", "/baseUrl/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions/:id:modifyAttachments", payload, headers)

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

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

url = "{{baseUrl}}/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions/:id:modifyAttachments"

payload = { "addAttachments": [
        {
            "driveFile": {
                "alternateLink": "",
                "id": "",
                "thumbnailUrl": "",
                "title": ""
            },
            "form": {
                "formUrl": "",
                "responseUrl": "",
                "thumbnailUrl": "",
                "title": ""
            },
            "link": {
                "thumbnailUrl": "",
                "title": "",
                "url": ""
            },
            "youTubeVideo": {
                "alternateLink": "",
                "id": "",
                "thumbnailUrl": "",
                "title": ""
            }
        }
    ] }
headers = {"content-type": "application/json"}

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

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

url <- "{{baseUrl}}/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions/:id:modifyAttachments"

payload <- "{\n  \"addAttachments\": [\n    {\n      \"driveFile\": {\n        \"alternateLink\": \"\",\n        \"id\": \"\",\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\"\n      },\n      \"form\": {\n        \"formUrl\": \"\",\n        \"responseUrl\": \"\",\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\"\n      },\n      \"link\": {\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\",\n        \"url\": \"\"\n      },\n      \"youTubeVideo\": {\n        \"alternateLink\": \"\",\n        \"id\": \"\",\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\"\n      }\n    }\n  ]\n}"

encode <- "json"

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

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

url = URI("{{baseUrl}}/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions/:id:modifyAttachments")

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

request = Net::HTTP::Post.new(url)
request["content-type"] = 'application/json'
request.body = "{\n  \"addAttachments\": [\n    {\n      \"driveFile\": {\n        \"alternateLink\": \"\",\n        \"id\": \"\",\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\"\n      },\n      \"form\": {\n        \"formUrl\": \"\",\n        \"responseUrl\": \"\",\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\"\n      },\n      \"link\": {\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\",\n        \"url\": \"\"\n      },\n      \"youTubeVideo\": {\n        \"alternateLink\": \"\",\n        \"id\": \"\",\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\"\n      }\n    }\n  ]\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/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions/:id:modifyAttachments') do |req|
  req.body = "{\n  \"addAttachments\": [\n    {\n      \"driveFile\": {\n        \"alternateLink\": \"\",\n        \"id\": \"\",\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\"\n      },\n      \"form\": {\n        \"formUrl\": \"\",\n        \"responseUrl\": \"\",\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\"\n      },\n      \"link\": {\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\",\n        \"url\": \"\"\n      },\n      \"youTubeVideo\": {\n        \"alternateLink\": \"\",\n        \"id\": \"\",\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\"\n      }\n    }\n  ]\n}"
end

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

#[tokio::main]
pub async fn main() {
    let url = "{{baseUrl}}/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions/:id:modifyAttachments";

    let payload = json!({"addAttachments": (
            json!({
                "driveFile": json!({
                    "alternateLink": "",
                    "id": "",
                    "thumbnailUrl": "",
                    "title": ""
                }),
                "form": json!({
                    "formUrl": "",
                    "responseUrl": "",
                    "thumbnailUrl": "",
                    "title": ""
                }),
                "link": json!({
                    "thumbnailUrl": "",
                    "title": "",
                    "url": ""
                }),
                "youTubeVideo": json!({
                    "alternateLink": "",
                    "id": "",
                    "thumbnailUrl": "",
                    "title": ""
                })
            })
        )});

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

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

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

    dbg!(results);
}
curl --request POST \
  --url {{baseUrl}}/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions/:id:modifyAttachments \
  --header 'content-type: application/json' \
  --data '{
  "addAttachments": [
    {
      "driveFile": {
        "alternateLink": "",
        "id": "",
        "thumbnailUrl": "",
        "title": ""
      },
      "form": {
        "formUrl": "",
        "responseUrl": "",
        "thumbnailUrl": "",
        "title": ""
      },
      "link": {
        "thumbnailUrl": "",
        "title": "",
        "url": ""
      },
      "youTubeVideo": {
        "alternateLink": "",
        "id": "",
        "thumbnailUrl": "",
        "title": ""
      }
    }
  ]
}'
echo '{
  "addAttachments": [
    {
      "driveFile": {
        "alternateLink": "",
        "id": "",
        "thumbnailUrl": "",
        "title": ""
      },
      "form": {
        "formUrl": "",
        "responseUrl": "",
        "thumbnailUrl": "",
        "title": ""
      },
      "link": {
        "thumbnailUrl": "",
        "title": "",
        "url": ""
      },
      "youTubeVideo": {
        "alternateLink": "",
        "id": "",
        "thumbnailUrl": "",
        "title": ""
      }
    }
  ]
}' |  \
  http POST {{baseUrl}}/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions/:id:modifyAttachments \
  content-type:application/json
wget --quiet \
  --method POST \
  --header 'content-type: application/json' \
  --body-data '{\n  "addAttachments": [\n    {\n      "driveFile": {\n        "alternateLink": "",\n        "id": "",\n        "thumbnailUrl": "",\n        "title": ""\n      },\n      "form": {\n        "formUrl": "",\n        "responseUrl": "",\n        "thumbnailUrl": "",\n        "title": ""\n      },\n      "link": {\n        "thumbnailUrl": "",\n        "title": "",\n        "url": ""\n      },\n      "youTubeVideo": {\n        "alternateLink": "",\n        "id": "",\n        "thumbnailUrl": "",\n        "title": ""\n      }\n    }\n  ]\n}' \
  --output-document \
  - {{baseUrl}}/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions/:id:modifyAttachments
import Foundation

let headers = ["content-type": "application/json"]
let parameters = ["addAttachments": [
    [
      "driveFile": [
        "alternateLink": "",
        "id": "",
        "thumbnailUrl": "",
        "title": ""
      ],
      "form": [
        "formUrl": "",
        "responseUrl": "",
        "thumbnailUrl": "",
        "title": ""
      ],
      "link": [
        "thumbnailUrl": "",
        "title": "",
        "url": ""
      ],
      "youTubeVideo": [
        "alternateLink": "",
        "id": "",
        "thumbnailUrl": "",
        "title": ""
      ]
    ]
  ]] as [String : Any]

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

let request = NSMutableURLRequest(url: NSURL(string: "{{baseUrl}}/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions/:id:modifyAttachments")! 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()
PATCH classroom.courses.courseWork.studentSubmissions.patch
{{baseUrl}}/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions/:id
QUERY PARAMS

courseId
courseWorkId
id
BODY json

{
  "alternateLink": "",
  "assignedGrade": "",
  "assignmentSubmission": {
    "attachments": [
      {
        "driveFile": {
          "alternateLink": "",
          "id": "",
          "thumbnailUrl": "",
          "title": ""
        },
        "form": {
          "formUrl": "",
          "responseUrl": "",
          "thumbnailUrl": "",
          "title": ""
        },
        "link": {
          "thumbnailUrl": "",
          "title": "",
          "url": ""
        },
        "youTubeVideo": {
          "alternateLink": "",
          "id": "",
          "thumbnailUrl": "",
          "title": ""
        }
      }
    ]
  },
  "associatedWithDeveloper": false,
  "courseId": "",
  "courseWorkId": "",
  "courseWorkType": "",
  "creationTime": "",
  "draftGrade": "",
  "id": "",
  "late": false,
  "multipleChoiceSubmission": {
    "answer": ""
  },
  "shortAnswerSubmission": {
    "answer": ""
  },
  "state": "",
  "submissionHistory": [
    {
      "gradeHistory": {
        "actorUserId": "",
        "gradeChangeType": "",
        "gradeTimestamp": "",
        "maxPoints": "",
        "pointsEarned": ""
      },
      "stateHistory": {
        "actorUserId": "",
        "state": "",
        "stateTimestamp": ""
      }
    }
  ],
  "updateTime": "",
  "userId": ""
}
Examples
REQUEST

CURL *hnd = curl_easy_init();

curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "PATCH");
curl_easy_setopt(hnd, CURLOPT_URL, "{{baseUrl}}/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions/:id");

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

curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\n  \"alternateLink\": \"\",\n  \"assignedGrade\": \"\",\n  \"assignmentSubmission\": {\n    \"attachments\": [\n      {\n        \"driveFile\": {\n          \"alternateLink\": \"\",\n          \"id\": \"\",\n          \"thumbnailUrl\": \"\",\n          \"title\": \"\"\n        },\n        \"form\": {\n          \"formUrl\": \"\",\n          \"responseUrl\": \"\",\n          \"thumbnailUrl\": \"\",\n          \"title\": \"\"\n        },\n        \"link\": {\n          \"thumbnailUrl\": \"\",\n          \"title\": \"\",\n          \"url\": \"\"\n        },\n        \"youTubeVideo\": {\n          \"alternateLink\": \"\",\n          \"id\": \"\",\n          \"thumbnailUrl\": \"\",\n          \"title\": \"\"\n        }\n      }\n    ]\n  },\n  \"associatedWithDeveloper\": false,\n  \"courseId\": \"\",\n  \"courseWorkId\": \"\",\n  \"courseWorkType\": \"\",\n  \"creationTime\": \"\",\n  \"draftGrade\": \"\",\n  \"id\": \"\",\n  \"late\": false,\n  \"multipleChoiceSubmission\": {\n    \"answer\": \"\"\n  },\n  \"shortAnswerSubmission\": {\n    \"answer\": \"\"\n  },\n  \"state\": \"\",\n  \"submissionHistory\": [\n    {\n      \"gradeHistory\": {\n        \"actorUserId\": \"\",\n        \"gradeChangeType\": \"\",\n        \"gradeTimestamp\": \"\",\n        \"maxPoints\": \"\",\n        \"pointsEarned\": \"\"\n      },\n      \"stateHistory\": {\n        \"actorUserId\": \"\",\n        \"state\": \"\",\n        \"stateTimestamp\": \"\"\n      }\n    }\n  ],\n  \"updateTime\": \"\",\n  \"userId\": \"\"\n}");

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

(client/patch "{{baseUrl}}/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions/:id" {:content-type :json
                                                                                                                  :form-params {:alternateLink ""
                                                                                                                                :assignedGrade ""
                                                                                                                                :assignmentSubmission {:attachments [{:driveFile {:alternateLink ""
                                                                                                                                                                                  :id ""
                                                                                                                                                                                  :thumbnailUrl ""
                                                                                                                                                                                  :title ""}
                                                                                                                                                                      :form {:formUrl ""
                                                                                                                                                                             :responseUrl ""
                                                                                                                                                                             :thumbnailUrl ""
                                                                                                                                                                             :title ""}
                                                                                                                                                                      :link {:thumbnailUrl ""
                                                                                                                                                                             :title ""
                                                                                                                                                                             :url ""}
                                                                                                                                                                      :youTubeVideo {:alternateLink ""
                                                                                                                                                                                     :id ""
                                                                                                                                                                                     :thumbnailUrl ""
                                                                                                                                                                                     :title ""}}]}
                                                                                                                                :associatedWithDeveloper false
                                                                                                                                :courseId ""
                                                                                                                                :courseWorkId ""
                                                                                                                                :courseWorkType ""
                                                                                                                                :creationTime ""
                                                                                                                                :draftGrade ""
                                                                                                                                :id ""
                                                                                                                                :late false
                                                                                                                                :multipleChoiceSubmission {:answer ""}
                                                                                                                                :shortAnswerSubmission {:answer ""}
                                                                                                                                :state ""
                                                                                                                                :submissionHistory [{:gradeHistory {:actorUserId ""
                                                                                                                                                                    :gradeChangeType ""
                                                                                                                                                                    :gradeTimestamp ""
                                                                                                                                                                    :maxPoints ""
                                                                                                                                                                    :pointsEarned ""}
                                                                                                                                                     :stateHistory {:actorUserId ""
                                                                                                                                                                    :state ""
                                                                                                                                                                    :stateTimestamp ""}}]
                                                                                                                                :updateTime ""
                                                                                                                                :userId ""}})
require "http/client"

url = "{{baseUrl}}/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions/:id"
headers = HTTP::Headers{
  "content-type" => "application/json"
}
reqBody = "{\n  \"alternateLink\": \"\",\n  \"assignedGrade\": \"\",\n  \"assignmentSubmission\": {\n    \"attachments\": [\n      {\n        \"driveFile\": {\n          \"alternateLink\": \"\",\n          \"id\": \"\",\n          \"thumbnailUrl\": \"\",\n          \"title\": \"\"\n        },\n        \"form\": {\n          \"formUrl\": \"\",\n          \"responseUrl\": \"\",\n          \"thumbnailUrl\": \"\",\n          \"title\": \"\"\n        },\n        \"link\": {\n          \"thumbnailUrl\": \"\",\n          \"title\": \"\",\n          \"url\": \"\"\n        },\n        \"youTubeVideo\": {\n          \"alternateLink\": \"\",\n          \"id\": \"\",\n          \"thumbnailUrl\": \"\",\n          \"title\": \"\"\n        }\n      }\n    ]\n  },\n  \"associatedWithDeveloper\": false,\n  \"courseId\": \"\",\n  \"courseWorkId\": \"\",\n  \"courseWorkType\": \"\",\n  \"creationTime\": \"\",\n  \"draftGrade\": \"\",\n  \"id\": \"\",\n  \"late\": false,\n  \"multipleChoiceSubmission\": {\n    \"answer\": \"\"\n  },\n  \"shortAnswerSubmission\": {\n    \"answer\": \"\"\n  },\n  \"state\": \"\",\n  \"submissionHistory\": [\n    {\n      \"gradeHistory\": {\n        \"actorUserId\": \"\",\n        \"gradeChangeType\": \"\",\n        \"gradeTimestamp\": \"\",\n        \"maxPoints\": \"\",\n        \"pointsEarned\": \"\"\n      },\n      \"stateHistory\": {\n        \"actorUserId\": \"\",\n        \"state\": \"\",\n        \"stateTimestamp\": \"\"\n      }\n    }\n  ],\n  \"updateTime\": \"\",\n  \"userId\": \"\"\n}"

response = HTTP::Client.patch url, headers: headers, body: reqBody
puts response.body
using System.Net.Http.Headers;
var client = new HttpClient();
var request = new HttpRequestMessage
{
    Method = HttpMethod.Patch,
    RequestUri = new Uri("{{baseUrl}}/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions/:id"),
    Content = new StringContent("{\n  \"alternateLink\": \"\",\n  \"assignedGrade\": \"\",\n  \"assignmentSubmission\": {\n    \"attachments\": [\n      {\n        \"driveFile\": {\n          \"alternateLink\": \"\",\n          \"id\": \"\",\n          \"thumbnailUrl\": \"\",\n          \"title\": \"\"\n        },\n        \"form\": {\n          \"formUrl\": \"\",\n          \"responseUrl\": \"\",\n          \"thumbnailUrl\": \"\",\n          \"title\": \"\"\n        },\n        \"link\": {\n          \"thumbnailUrl\": \"\",\n          \"title\": \"\",\n          \"url\": \"\"\n        },\n        \"youTubeVideo\": {\n          \"alternateLink\": \"\",\n          \"id\": \"\",\n          \"thumbnailUrl\": \"\",\n          \"title\": \"\"\n        }\n      }\n    ]\n  },\n  \"associatedWithDeveloper\": false,\n  \"courseId\": \"\",\n  \"courseWorkId\": \"\",\n  \"courseWorkType\": \"\",\n  \"creationTime\": \"\",\n  \"draftGrade\": \"\",\n  \"id\": \"\",\n  \"late\": false,\n  \"multipleChoiceSubmission\": {\n    \"answer\": \"\"\n  },\n  \"shortAnswerSubmission\": {\n    \"answer\": \"\"\n  },\n  \"state\": \"\",\n  \"submissionHistory\": [\n    {\n      \"gradeHistory\": {\n        \"actorUserId\": \"\",\n        \"gradeChangeType\": \"\",\n        \"gradeTimestamp\": \"\",\n        \"maxPoints\": \"\",\n        \"pointsEarned\": \"\"\n      },\n      \"stateHistory\": {\n        \"actorUserId\": \"\",\n        \"state\": \"\",\n        \"stateTimestamp\": \"\"\n      }\n    }\n  ],\n  \"updateTime\": \"\",\n  \"userId\": \"\"\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}}/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions/:id");
var request = new RestRequest("", Method.Patch);
request.AddHeader("content-type", "application/json");
request.AddParameter("application/json", "{\n  \"alternateLink\": \"\",\n  \"assignedGrade\": \"\",\n  \"assignmentSubmission\": {\n    \"attachments\": [\n      {\n        \"driveFile\": {\n          \"alternateLink\": \"\",\n          \"id\": \"\",\n          \"thumbnailUrl\": \"\",\n          \"title\": \"\"\n        },\n        \"form\": {\n          \"formUrl\": \"\",\n          \"responseUrl\": \"\",\n          \"thumbnailUrl\": \"\",\n          \"title\": \"\"\n        },\n        \"link\": {\n          \"thumbnailUrl\": \"\",\n          \"title\": \"\",\n          \"url\": \"\"\n        },\n        \"youTubeVideo\": {\n          \"alternateLink\": \"\",\n          \"id\": \"\",\n          \"thumbnailUrl\": \"\",\n          \"title\": \"\"\n        }\n      }\n    ]\n  },\n  \"associatedWithDeveloper\": false,\n  \"courseId\": \"\",\n  \"courseWorkId\": \"\",\n  \"courseWorkType\": \"\",\n  \"creationTime\": \"\",\n  \"draftGrade\": \"\",\n  \"id\": \"\",\n  \"late\": false,\n  \"multipleChoiceSubmission\": {\n    \"answer\": \"\"\n  },\n  \"shortAnswerSubmission\": {\n    \"answer\": \"\"\n  },\n  \"state\": \"\",\n  \"submissionHistory\": [\n    {\n      \"gradeHistory\": {\n        \"actorUserId\": \"\",\n        \"gradeChangeType\": \"\",\n        \"gradeTimestamp\": \"\",\n        \"maxPoints\": \"\",\n        \"pointsEarned\": \"\"\n      },\n      \"stateHistory\": {\n        \"actorUserId\": \"\",\n        \"state\": \"\",\n        \"stateTimestamp\": \"\"\n      }\n    }\n  ],\n  \"updateTime\": \"\",\n  \"userId\": \"\"\n}", ParameterType.RequestBody);
var response = client.Execute(request);
package main

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

func main() {

	url := "{{baseUrl}}/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions/:id"

	payload := strings.NewReader("{\n  \"alternateLink\": \"\",\n  \"assignedGrade\": \"\",\n  \"assignmentSubmission\": {\n    \"attachments\": [\n      {\n        \"driveFile\": {\n          \"alternateLink\": \"\",\n          \"id\": \"\",\n          \"thumbnailUrl\": \"\",\n          \"title\": \"\"\n        },\n        \"form\": {\n          \"formUrl\": \"\",\n          \"responseUrl\": \"\",\n          \"thumbnailUrl\": \"\",\n          \"title\": \"\"\n        },\n        \"link\": {\n          \"thumbnailUrl\": \"\",\n          \"title\": \"\",\n          \"url\": \"\"\n        },\n        \"youTubeVideo\": {\n          \"alternateLink\": \"\",\n          \"id\": \"\",\n          \"thumbnailUrl\": \"\",\n          \"title\": \"\"\n        }\n      }\n    ]\n  },\n  \"associatedWithDeveloper\": false,\n  \"courseId\": \"\",\n  \"courseWorkId\": \"\",\n  \"courseWorkType\": \"\",\n  \"creationTime\": \"\",\n  \"draftGrade\": \"\",\n  \"id\": \"\",\n  \"late\": false,\n  \"multipleChoiceSubmission\": {\n    \"answer\": \"\"\n  },\n  \"shortAnswerSubmission\": {\n    \"answer\": \"\"\n  },\n  \"state\": \"\",\n  \"submissionHistory\": [\n    {\n      \"gradeHistory\": {\n        \"actorUserId\": \"\",\n        \"gradeChangeType\": \"\",\n        \"gradeTimestamp\": \"\",\n        \"maxPoints\": \"\",\n        \"pointsEarned\": \"\"\n      },\n      \"stateHistory\": {\n        \"actorUserId\": \"\",\n        \"state\": \"\",\n        \"stateTimestamp\": \"\"\n      }\n    }\n  ],\n  \"updateTime\": \"\",\n  \"userId\": \"\"\n}")

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

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

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

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

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

}
PATCH /baseUrl/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions/:id HTTP/1.1
Content-Type: application/json
Host: example.com
Content-Length: 1288

{
  "alternateLink": "",
  "assignedGrade": "",
  "assignmentSubmission": {
    "attachments": [
      {
        "driveFile": {
          "alternateLink": "",
          "id": "",
          "thumbnailUrl": "",
          "title": ""
        },
        "form": {
          "formUrl": "",
          "responseUrl": "",
          "thumbnailUrl": "",
          "title": ""
        },
        "link": {
          "thumbnailUrl": "",
          "title": "",
          "url": ""
        },
        "youTubeVideo": {
          "alternateLink": "",
          "id": "",
          "thumbnailUrl": "",
          "title": ""
        }
      }
    ]
  },
  "associatedWithDeveloper": false,
  "courseId": "",
  "courseWorkId": "",
  "courseWorkType": "",
  "creationTime": "",
  "draftGrade": "",
  "id": "",
  "late": false,
  "multipleChoiceSubmission": {
    "answer": ""
  },
  "shortAnswerSubmission": {
    "answer": ""
  },
  "state": "",
  "submissionHistory": [
    {
      "gradeHistory": {
        "actorUserId": "",
        "gradeChangeType": "",
        "gradeTimestamp": "",
        "maxPoints": "",
        "pointsEarned": ""
      },
      "stateHistory": {
        "actorUserId": "",
        "state": "",
        "stateTimestamp": ""
      }
    }
  ],
  "updateTime": "",
  "userId": ""
}
AsyncHttpClient client = new DefaultAsyncHttpClient();
client.prepare("PATCH", "{{baseUrl}}/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions/:id")
  .setHeader("content-type", "application/json")
  .setBody("{\n  \"alternateLink\": \"\",\n  \"assignedGrade\": \"\",\n  \"assignmentSubmission\": {\n    \"attachments\": [\n      {\n        \"driveFile\": {\n          \"alternateLink\": \"\",\n          \"id\": \"\",\n          \"thumbnailUrl\": \"\",\n          \"title\": \"\"\n        },\n        \"form\": {\n          \"formUrl\": \"\",\n          \"responseUrl\": \"\",\n          \"thumbnailUrl\": \"\",\n          \"title\": \"\"\n        },\n        \"link\": {\n          \"thumbnailUrl\": \"\",\n          \"title\": \"\",\n          \"url\": \"\"\n        },\n        \"youTubeVideo\": {\n          \"alternateLink\": \"\",\n          \"id\": \"\",\n          \"thumbnailUrl\": \"\",\n          \"title\": \"\"\n        }\n      }\n    ]\n  },\n  \"associatedWithDeveloper\": false,\n  \"courseId\": \"\",\n  \"courseWorkId\": \"\",\n  \"courseWorkType\": \"\",\n  \"creationTime\": \"\",\n  \"draftGrade\": \"\",\n  \"id\": \"\",\n  \"late\": false,\n  \"multipleChoiceSubmission\": {\n    \"answer\": \"\"\n  },\n  \"shortAnswerSubmission\": {\n    \"answer\": \"\"\n  },\n  \"state\": \"\",\n  \"submissionHistory\": [\n    {\n      \"gradeHistory\": {\n        \"actorUserId\": \"\",\n        \"gradeChangeType\": \"\",\n        \"gradeTimestamp\": \"\",\n        \"maxPoints\": \"\",\n        \"pointsEarned\": \"\"\n      },\n      \"stateHistory\": {\n        \"actorUserId\": \"\",\n        \"state\": \"\",\n        \"stateTimestamp\": \"\"\n      }\n    }\n  ],\n  \"updateTime\": \"\",\n  \"userId\": \"\"\n}")
  .execute()
  .toCompletableFuture()
  .thenAccept(System.out::println)
  .join();

client.close();
HttpRequest request = HttpRequest.newBuilder()
    .uri(URI.create("{{baseUrl}}/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions/:id"))
    .header("content-type", "application/json")
    .method("PATCH", HttpRequest.BodyPublishers.ofString("{\n  \"alternateLink\": \"\",\n  \"assignedGrade\": \"\",\n  \"assignmentSubmission\": {\n    \"attachments\": [\n      {\n        \"driveFile\": {\n          \"alternateLink\": \"\",\n          \"id\": \"\",\n          \"thumbnailUrl\": \"\",\n          \"title\": \"\"\n        },\n        \"form\": {\n          \"formUrl\": \"\",\n          \"responseUrl\": \"\",\n          \"thumbnailUrl\": \"\",\n          \"title\": \"\"\n        },\n        \"link\": {\n          \"thumbnailUrl\": \"\",\n          \"title\": \"\",\n          \"url\": \"\"\n        },\n        \"youTubeVideo\": {\n          \"alternateLink\": \"\",\n          \"id\": \"\",\n          \"thumbnailUrl\": \"\",\n          \"title\": \"\"\n        }\n      }\n    ]\n  },\n  \"associatedWithDeveloper\": false,\n  \"courseId\": \"\",\n  \"courseWorkId\": \"\",\n  \"courseWorkType\": \"\",\n  \"creationTime\": \"\",\n  \"draftGrade\": \"\",\n  \"id\": \"\",\n  \"late\": false,\n  \"multipleChoiceSubmission\": {\n    \"answer\": \"\"\n  },\n  \"shortAnswerSubmission\": {\n    \"answer\": \"\"\n  },\n  \"state\": \"\",\n  \"submissionHistory\": [\n    {\n      \"gradeHistory\": {\n        \"actorUserId\": \"\",\n        \"gradeChangeType\": \"\",\n        \"gradeTimestamp\": \"\",\n        \"maxPoints\": \"\",\n        \"pointsEarned\": \"\"\n      },\n      \"stateHistory\": {\n        \"actorUserId\": \"\",\n        \"state\": \"\",\n        \"stateTimestamp\": \"\"\n      }\n    }\n  ],\n  \"updateTime\": \"\",\n  \"userId\": \"\"\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  \"alternateLink\": \"\",\n  \"assignedGrade\": \"\",\n  \"assignmentSubmission\": {\n    \"attachments\": [\n      {\n        \"driveFile\": {\n          \"alternateLink\": \"\",\n          \"id\": \"\",\n          \"thumbnailUrl\": \"\",\n          \"title\": \"\"\n        },\n        \"form\": {\n          \"formUrl\": \"\",\n          \"responseUrl\": \"\",\n          \"thumbnailUrl\": \"\",\n          \"title\": \"\"\n        },\n        \"link\": {\n          \"thumbnailUrl\": \"\",\n          \"title\": \"\",\n          \"url\": \"\"\n        },\n        \"youTubeVideo\": {\n          \"alternateLink\": \"\",\n          \"id\": \"\",\n          \"thumbnailUrl\": \"\",\n          \"title\": \"\"\n        }\n      }\n    ]\n  },\n  \"associatedWithDeveloper\": false,\n  \"courseId\": \"\",\n  \"courseWorkId\": \"\",\n  \"courseWorkType\": \"\",\n  \"creationTime\": \"\",\n  \"draftGrade\": \"\",\n  \"id\": \"\",\n  \"late\": false,\n  \"multipleChoiceSubmission\": {\n    \"answer\": \"\"\n  },\n  \"shortAnswerSubmission\": {\n    \"answer\": \"\"\n  },\n  \"state\": \"\",\n  \"submissionHistory\": [\n    {\n      \"gradeHistory\": {\n        \"actorUserId\": \"\",\n        \"gradeChangeType\": \"\",\n        \"gradeTimestamp\": \"\",\n        \"maxPoints\": \"\",\n        \"pointsEarned\": \"\"\n      },\n      \"stateHistory\": {\n        \"actorUserId\": \"\",\n        \"state\": \"\",\n        \"stateTimestamp\": \"\"\n      }\n    }\n  ],\n  \"updateTime\": \"\",\n  \"userId\": \"\"\n}");
Request request = new Request.Builder()
  .url("{{baseUrl}}/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions/:id")
  .patch(body)
  .addHeader("content-type", "application/json")
  .build();

Response response = client.newCall(request).execute();
HttpResponse response = Unirest.patch("{{baseUrl}}/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions/:id")
  .header("content-type", "application/json")
  .body("{\n  \"alternateLink\": \"\",\n  \"assignedGrade\": \"\",\n  \"assignmentSubmission\": {\n    \"attachments\": [\n      {\n        \"driveFile\": {\n          \"alternateLink\": \"\",\n          \"id\": \"\",\n          \"thumbnailUrl\": \"\",\n          \"title\": \"\"\n        },\n        \"form\": {\n          \"formUrl\": \"\",\n          \"responseUrl\": \"\",\n          \"thumbnailUrl\": \"\",\n          \"title\": \"\"\n        },\n        \"link\": {\n          \"thumbnailUrl\": \"\",\n          \"title\": \"\",\n          \"url\": \"\"\n        },\n        \"youTubeVideo\": {\n          \"alternateLink\": \"\",\n          \"id\": \"\",\n          \"thumbnailUrl\": \"\",\n          \"title\": \"\"\n        }\n      }\n    ]\n  },\n  \"associatedWithDeveloper\": false,\n  \"courseId\": \"\",\n  \"courseWorkId\": \"\",\n  \"courseWorkType\": \"\",\n  \"creationTime\": \"\",\n  \"draftGrade\": \"\",\n  \"id\": \"\",\n  \"late\": false,\n  \"multipleChoiceSubmission\": {\n    \"answer\": \"\"\n  },\n  \"shortAnswerSubmission\": {\n    \"answer\": \"\"\n  },\n  \"state\": \"\",\n  \"submissionHistory\": [\n    {\n      \"gradeHistory\": {\n        \"actorUserId\": \"\",\n        \"gradeChangeType\": \"\",\n        \"gradeTimestamp\": \"\",\n        \"maxPoints\": \"\",\n        \"pointsEarned\": \"\"\n      },\n      \"stateHistory\": {\n        \"actorUserId\": \"\",\n        \"state\": \"\",\n        \"stateTimestamp\": \"\"\n      }\n    }\n  ],\n  \"updateTime\": \"\",\n  \"userId\": \"\"\n}")
  .asString();
const data = JSON.stringify({
  alternateLink: '',
  assignedGrade: '',
  assignmentSubmission: {
    attachments: [
      {
        driveFile: {
          alternateLink: '',
          id: '',
          thumbnailUrl: '',
          title: ''
        },
        form: {
          formUrl: '',
          responseUrl: '',
          thumbnailUrl: '',
          title: ''
        },
        link: {
          thumbnailUrl: '',
          title: '',
          url: ''
        },
        youTubeVideo: {
          alternateLink: '',
          id: '',
          thumbnailUrl: '',
          title: ''
        }
      }
    ]
  },
  associatedWithDeveloper: false,
  courseId: '',
  courseWorkId: '',
  courseWorkType: '',
  creationTime: '',
  draftGrade: '',
  id: '',
  late: false,
  multipleChoiceSubmission: {
    answer: ''
  },
  shortAnswerSubmission: {
    answer: ''
  },
  state: '',
  submissionHistory: [
    {
      gradeHistory: {
        actorUserId: '',
        gradeChangeType: '',
        gradeTimestamp: '',
        maxPoints: '',
        pointsEarned: ''
      },
      stateHistory: {
        actorUserId: '',
        state: '',
        stateTimestamp: ''
      }
    }
  ],
  updateTime: '',
  userId: ''
});

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

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

xhr.open('PATCH', '{{baseUrl}}/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions/:id');
xhr.setRequestHeader('content-type', 'application/json');

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

const options = {
  method: 'PATCH',
  url: '{{baseUrl}}/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions/:id',
  headers: {'content-type': 'application/json'},
  data: {
    alternateLink: '',
    assignedGrade: '',
    assignmentSubmission: {
      attachments: [
        {
          driveFile: {alternateLink: '', id: '', thumbnailUrl: '', title: ''},
          form: {formUrl: '', responseUrl: '', thumbnailUrl: '', title: ''},
          link: {thumbnailUrl: '', title: '', url: ''},
          youTubeVideo: {alternateLink: '', id: '', thumbnailUrl: '', title: ''}
        }
      ]
    },
    associatedWithDeveloper: false,
    courseId: '',
    courseWorkId: '',
    courseWorkType: '',
    creationTime: '',
    draftGrade: '',
    id: '',
    late: false,
    multipleChoiceSubmission: {answer: ''},
    shortAnswerSubmission: {answer: ''},
    state: '',
    submissionHistory: [
      {
        gradeHistory: {
          actorUserId: '',
          gradeChangeType: '',
          gradeTimestamp: '',
          maxPoints: '',
          pointsEarned: ''
        },
        stateHistory: {actorUserId: '', state: '', stateTimestamp: ''}
      }
    ],
    updateTime: '',
    userId: ''
  }
};

try {
  const { data } = await axios.request(options);
  console.log(data);
} catch (error) {
  console.error(error);
}
const url = '{{baseUrl}}/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions/:id';
const options = {
  method: 'PATCH',
  headers: {'content-type': 'application/json'},
  body: '{"alternateLink":"","assignedGrade":"","assignmentSubmission":{"attachments":[{"driveFile":{"alternateLink":"","id":"","thumbnailUrl":"","title":""},"form":{"formUrl":"","responseUrl":"","thumbnailUrl":"","title":""},"link":{"thumbnailUrl":"","title":"","url":""},"youTubeVideo":{"alternateLink":"","id":"","thumbnailUrl":"","title":""}}]},"associatedWithDeveloper":false,"courseId":"","courseWorkId":"","courseWorkType":"","creationTime":"","draftGrade":"","id":"","late":false,"multipleChoiceSubmission":{"answer":""},"shortAnswerSubmission":{"answer":""},"state":"","submissionHistory":[{"gradeHistory":{"actorUserId":"","gradeChangeType":"","gradeTimestamp":"","maxPoints":"","pointsEarned":""},"stateHistory":{"actorUserId":"","state":"","stateTimestamp":""}}],"updateTime":"","userId":""}'
};

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}}/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions/:id',
  method: 'PATCH',
  headers: {
    'content-type': 'application/json'
  },
  processData: false,
  data: '{\n  "alternateLink": "",\n  "assignedGrade": "",\n  "assignmentSubmission": {\n    "attachments": [\n      {\n        "driveFile": {\n          "alternateLink": "",\n          "id": "",\n          "thumbnailUrl": "",\n          "title": ""\n        },\n        "form": {\n          "formUrl": "",\n          "responseUrl": "",\n          "thumbnailUrl": "",\n          "title": ""\n        },\n        "link": {\n          "thumbnailUrl": "",\n          "title": "",\n          "url": ""\n        },\n        "youTubeVideo": {\n          "alternateLink": "",\n          "id": "",\n          "thumbnailUrl": "",\n          "title": ""\n        }\n      }\n    ]\n  },\n  "associatedWithDeveloper": false,\n  "courseId": "",\n  "courseWorkId": "",\n  "courseWorkType": "",\n  "creationTime": "",\n  "draftGrade": "",\n  "id": "",\n  "late": false,\n  "multipleChoiceSubmission": {\n    "answer": ""\n  },\n  "shortAnswerSubmission": {\n    "answer": ""\n  },\n  "state": "",\n  "submissionHistory": [\n    {\n      "gradeHistory": {\n        "actorUserId": "",\n        "gradeChangeType": "",\n        "gradeTimestamp": "",\n        "maxPoints": "",\n        "pointsEarned": ""\n      },\n      "stateHistory": {\n        "actorUserId": "",\n        "state": "",\n        "stateTimestamp": ""\n      }\n    }\n  ],\n  "updateTime": "",\n  "userId": ""\n}'
};

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

val mediaType = MediaType.parse("application/json")
val body = RequestBody.create(mediaType, "{\n  \"alternateLink\": \"\",\n  \"assignedGrade\": \"\",\n  \"assignmentSubmission\": {\n    \"attachments\": [\n      {\n        \"driveFile\": {\n          \"alternateLink\": \"\",\n          \"id\": \"\",\n          \"thumbnailUrl\": \"\",\n          \"title\": \"\"\n        },\n        \"form\": {\n          \"formUrl\": \"\",\n          \"responseUrl\": \"\",\n          \"thumbnailUrl\": \"\",\n          \"title\": \"\"\n        },\n        \"link\": {\n          \"thumbnailUrl\": \"\",\n          \"title\": \"\",\n          \"url\": \"\"\n        },\n        \"youTubeVideo\": {\n          \"alternateLink\": \"\",\n          \"id\": \"\",\n          \"thumbnailUrl\": \"\",\n          \"title\": \"\"\n        }\n      }\n    ]\n  },\n  \"associatedWithDeveloper\": false,\n  \"courseId\": \"\",\n  \"courseWorkId\": \"\",\n  \"courseWorkType\": \"\",\n  \"creationTime\": \"\",\n  \"draftGrade\": \"\",\n  \"id\": \"\",\n  \"late\": false,\n  \"multipleChoiceSubmission\": {\n    \"answer\": \"\"\n  },\n  \"shortAnswerSubmission\": {\n    \"answer\": \"\"\n  },\n  \"state\": \"\",\n  \"submissionHistory\": [\n    {\n      \"gradeHistory\": {\n        \"actorUserId\": \"\",\n        \"gradeChangeType\": \"\",\n        \"gradeTimestamp\": \"\",\n        \"maxPoints\": \"\",\n        \"pointsEarned\": \"\"\n      },\n      \"stateHistory\": {\n        \"actorUserId\": \"\",\n        \"state\": \"\",\n        \"stateTimestamp\": \"\"\n      }\n    }\n  ],\n  \"updateTime\": \"\",\n  \"userId\": \"\"\n}")
val request = Request.Builder()
  .url("{{baseUrl}}/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions/:id")
  .patch(body)
  .addHeader("content-type", "application/json")
  .build()

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

const options = {
  method: 'PATCH',
  hostname: 'example.com',
  port: null,
  path: '/baseUrl/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions/:id',
  headers: {
    'content-type': 'application/json'
  }
};

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

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

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

req.write(JSON.stringify({
  alternateLink: '',
  assignedGrade: '',
  assignmentSubmission: {
    attachments: [
      {
        driveFile: {alternateLink: '', id: '', thumbnailUrl: '', title: ''},
        form: {formUrl: '', responseUrl: '', thumbnailUrl: '', title: ''},
        link: {thumbnailUrl: '', title: '', url: ''},
        youTubeVideo: {alternateLink: '', id: '', thumbnailUrl: '', title: ''}
      }
    ]
  },
  associatedWithDeveloper: false,
  courseId: '',
  courseWorkId: '',
  courseWorkType: '',
  creationTime: '',
  draftGrade: '',
  id: '',
  late: false,
  multipleChoiceSubmission: {answer: ''},
  shortAnswerSubmission: {answer: ''},
  state: '',
  submissionHistory: [
    {
      gradeHistory: {
        actorUserId: '',
        gradeChangeType: '',
        gradeTimestamp: '',
        maxPoints: '',
        pointsEarned: ''
      },
      stateHistory: {actorUserId: '', state: '', stateTimestamp: ''}
    }
  ],
  updateTime: '',
  userId: ''
}));
req.end();
const request = require('request');

const options = {
  method: 'PATCH',
  url: '{{baseUrl}}/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions/:id',
  headers: {'content-type': 'application/json'},
  body: {
    alternateLink: '',
    assignedGrade: '',
    assignmentSubmission: {
      attachments: [
        {
          driveFile: {alternateLink: '', id: '', thumbnailUrl: '', title: ''},
          form: {formUrl: '', responseUrl: '', thumbnailUrl: '', title: ''},
          link: {thumbnailUrl: '', title: '', url: ''},
          youTubeVideo: {alternateLink: '', id: '', thumbnailUrl: '', title: ''}
        }
      ]
    },
    associatedWithDeveloper: false,
    courseId: '',
    courseWorkId: '',
    courseWorkType: '',
    creationTime: '',
    draftGrade: '',
    id: '',
    late: false,
    multipleChoiceSubmission: {answer: ''},
    shortAnswerSubmission: {answer: ''},
    state: '',
    submissionHistory: [
      {
        gradeHistory: {
          actorUserId: '',
          gradeChangeType: '',
          gradeTimestamp: '',
          maxPoints: '',
          pointsEarned: ''
        },
        stateHistory: {actorUserId: '', state: '', stateTimestamp: ''}
      }
    ],
    updateTime: '',
    userId: ''
  },
  json: true
};

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

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

const req = unirest('PATCH', '{{baseUrl}}/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions/:id');

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

req.type('json');
req.send({
  alternateLink: '',
  assignedGrade: '',
  assignmentSubmission: {
    attachments: [
      {
        driveFile: {
          alternateLink: '',
          id: '',
          thumbnailUrl: '',
          title: ''
        },
        form: {
          formUrl: '',
          responseUrl: '',
          thumbnailUrl: '',
          title: ''
        },
        link: {
          thumbnailUrl: '',
          title: '',
          url: ''
        },
        youTubeVideo: {
          alternateLink: '',
          id: '',
          thumbnailUrl: '',
          title: ''
        }
      }
    ]
  },
  associatedWithDeveloper: false,
  courseId: '',
  courseWorkId: '',
  courseWorkType: '',
  creationTime: '',
  draftGrade: '',
  id: '',
  late: false,
  multipleChoiceSubmission: {
    answer: ''
  },
  shortAnswerSubmission: {
    answer: ''
  },
  state: '',
  submissionHistory: [
    {
      gradeHistory: {
        actorUserId: '',
        gradeChangeType: '',
        gradeTimestamp: '',
        maxPoints: '',
        pointsEarned: ''
      },
      stateHistory: {
        actorUserId: '',
        state: '',
        stateTimestamp: ''
      }
    }
  ],
  updateTime: '',
  userId: ''
});

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

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

const options = {
  method: 'PATCH',
  url: '{{baseUrl}}/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions/:id',
  headers: {'content-type': 'application/json'},
  data: {
    alternateLink: '',
    assignedGrade: '',
    assignmentSubmission: {
      attachments: [
        {
          driveFile: {alternateLink: '', id: '', thumbnailUrl: '', title: ''},
          form: {formUrl: '', responseUrl: '', thumbnailUrl: '', title: ''},
          link: {thumbnailUrl: '', title: '', url: ''},
          youTubeVideo: {alternateLink: '', id: '', thumbnailUrl: '', title: ''}
        }
      ]
    },
    associatedWithDeveloper: false,
    courseId: '',
    courseWorkId: '',
    courseWorkType: '',
    creationTime: '',
    draftGrade: '',
    id: '',
    late: false,
    multipleChoiceSubmission: {answer: ''},
    shortAnswerSubmission: {answer: ''},
    state: '',
    submissionHistory: [
      {
        gradeHistory: {
          actorUserId: '',
          gradeChangeType: '',
          gradeTimestamp: '',
          maxPoints: '',
          pointsEarned: ''
        },
        stateHistory: {actorUserId: '', state: '', stateTimestamp: ''}
      }
    ],
    updateTime: '',
    userId: ''
  }
};

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

const url = '{{baseUrl}}/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions/:id';
const options = {
  method: 'PATCH',
  headers: {'content-type': 'application/json'},
  body: '{"alternateLink":"","assignedGrade":"","assignmentSubmission":{"attachments":[{"driveFile":{"alternateLink":"","id":"","thumbnailUrl":"","title":""},"form":{"formUrl":"","responseUrl":"","thumbnailUrl":"","title":""},"link":{"thumbnailUrl":"","title":"","url":""},"youTubeVideo":{"alternateLink":"","id":"","thumbnailUrl":"","title":""}}]},"associatedWithDeveloper":false,"courseId":"","courseWorkId":"","courseWorkType":"","creationTime":"","draftGrade":"","id":"","late":false,"multipleChoiceSubmission":{"answer":""},"shortAnswerSubmission":{"answer":""},"state":"","submissionHistory":[{"gradeHistory":{"actorUserId":"","gradeChangeType":"","gradeTimestamp":"","maxPoints":"","pointsEarned":""},"stateHistory":{"actorUserId":"","state":"","stateTimestamp":""}}],"updateTime":"","userId":""}'
};

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

NSDictionary *headers = @{ @"content-type": @"application/json" };
NSDictionary *parameters = @{ @"alternateLink": @"",
                              @"assignedGrade": @"",
                              @"assignmentSubmission": @{ @"attachments": @[ @{ @"driveFile": @{ @"alternateLink": @"", @"id": @"", @"thumbnailUrl": @"", @"title": @"" }, @"form": @{ @"formUrl": @"", @"responseUrl": @"", @"thumbnailUrl": @"", @"title": @"" }, @"link": @{ @"thumbnailUrl": @"", @"title": @"", @"url": @"" }, @"youTubeVideo": @{ @"alternateLink": @"", @"id": @"", @"thumbnailUrl": @"", @"title": @"" } } ] },
                              @"associatedWithDeveloper": @NO,
                              @"courseId": @"",
                              @"courseWorkId": @"",
                              @"courseWorkType": @"",
                              @"creationTime": @"",
                              @"draftGrade": @"",
                              @"id": @"",
                              @"late": @NO,
                              @"multipleChoiceSubmission": @{ @"answer": @"" },
                              @"shortAnswerSubmission": @{ @"answer": @"" },
                              @"state": @"",
                              @"submissionHistory": @[ @{ @"gradeHistory": @{ @"actorUserId": @"", @"gradeChangeType": @"", @"gradeTimestamp": @"", @"maxPoints": @"", @"pointsEarned": @"" }, @"stateHistory": @{ @"actorUserId": @"", @"state": @"", @"stateTimestamp": @"" } } ],
                              @"updateTime": @"",
                              @"userId": @"" };

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

NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"{{baseUrl}}/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions/:id"]
                                                       cachePolicy:NSURLRequestUseProtocolCachePolicy
                                                   timeoutInterval:10.0];
[request setHTTPMethod:@"PATCH"];
[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}}/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions/:id" in
let headers = Header.add (Header.init ()) "content-type" "application/json" in
let body = Cohttp_lwt_body.of_string "{\n  \"alternateLink\": \"\",\n  \"assignedGrade\": \"\",\n  \"assignmentSubmission\": {\n    \"attachments\": [\n      {\n        \"driveFile\": {\n          \"alternateLink\": \"\",\n          \"id\": \"\",\n          \"thumbnailUrl\": \"\",\n          \"title\": \"\"\n        },\n        \"form\": {\n          \"formUrl\": \"\",\n          \"responseUrl\": \"\",\n          \"thumbnailUrl\": \"\",\n          \"title\": \"\"\n        },\n        \"link\": {\n          \"thumbnailUrl\": \"\",\n          \"title\": \"\",\n          \"url\": \"\"\n        },\n        \"youTubeVideo\": {\n          \"alternateLink\": \"\",\n          \"id\": \"\",\n          \"thumbnailUrl\": \"\",\n          \"title\": \"\"\n        }\n      }\n    ]\n  },\n  \"associatedWithDeveloper\": false,\n  \"courseId\": \"\",\n  \"courseWorkId\": \"\",\n  \"courseWorkType\": \"\",\n  \"creationTime\": \"\",\n  \"draftGrade\": \"\",\n  \"id\": \"\",\n  \"late\": false,\n  \"multipleChoiceSubmission\": {\n    \"answer\": \"\"\n  },\n  \"shortAnswerSubmission\": {\n    \"answer\": \"\"\n  },\n  \"state\": \"\",\n  \"submissionHistory\": [\n    {\n      \"gradeHistory\": {\n        \"actorUserId\": \"\",\n        \"gradeChangeType\": \"\",\n        \"gradeTimestamp\": \"\",\n        \"maxPoints\": \"\",\n        \"pointsEarned\": \"\"\n      },\n      \"stateHistory\": {\n        \"actorUserId\": \"\",\n        \"state\": \"\",\n        \"stateTimestamp\": \"\"\n      }\n    }\n  ],\n  \"updateTime\": \"\",\n  \"userId\": \"\"\n}" in

Client.call ~headers ~body `PATCH uri
>>= fun (res, body_stream) ->
  (* Do stuff with the result *)
 "{{baseUrl}}/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions/:id",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "PATCH",
  CURLOPT_POSTFIELDS => json_encode([
    'alternateLink' => '',
    'assignedGrade' => '',
    'assignmentSubmission' => [
        'attachments' => [
                [
                                'driveFile' => [
                                                                'alternateLink' => '',
                                                                'id' => '',
                                                                'thumbnailUrl' => '',
                                                                'title' => ''
                                ],
                                'form' => [
                                                                'formUrl' => '',
                                                                'responseUrl' => '',
                                                                'thumbnailUrl' => '',
                                                                'title' => ''
                                ],
                                'link' => [
                                                                'thumbnailUrl' => '',
                                                                'title' => '',
                                                                'url' => ''
                                ],
                                'youTubeVideo' => [
                                                                'alternateLink' => '',
                                                                'id' => '',
                                                                'thumbnailUrl' => '',
                                                                'title' => ''
                                ]
                ]
        ]
    ],
    'associatedWithDeveloper' => null,
    'courseId' => '',
    'courseWorkId' => '',
    'courseWorkType' => '',
    'creationTime' => '',
    'draftGrade' => '',
    'id' => '',
    'late' => null,
    'multipleChoiceSubmission' => [
        'answer' => ''
    ],
    'shortAnswerSubmission' => [
        'answer' => ''
    ],
    'state' => '',
    'submissionHistory' => [
        [
                'gradeHistory' => [
                                'actorUserId' => '',
                                'gradeChangeType' => '',
                                'gradeTimestamp' => '',
                                'maxPoints' => '',
                                'pointsEarned' => ''
                ],
                'stateHistory' => [
                                'actorUserId' => '',
                                'state' => '',
                                'stateTimestamp' => ''
                ]
        ]
    ],
    'updateTime' => '',
    'userId' => ''
  ]),
  CURLOPT_HTTPHEADER => [
    "content-type: application/json"
  ],
]);

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

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
request('PATCH', '{{baseUrl}}/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions/:id', [
  'body' => '{
  "alternateLink": "",
  "assignedGrade": "",
  "assignmentSubmission": {
    "attachments": [
      {
        "driveFile": {
          "alternateLink": "",
          "id": "",
          "thumbnailUrl": "",
          "title": ""
        },
        "form": {
          "formUrl": "",
          "responseUrl": "",
          "thumbnailUrl": "",
          "title": ""
        },
        "link": {
          "thumbnailUrl": "",
          "title": "",
          "url": ""
        },
        "youTubeVideo": {
          "alternateLink": "",
          "id": "",
          "thumbnailUrl": "",
          "title": ""
        }
      }
    ]
  },
  "associatedWithDeveloper": false,
  "courseId": "",
  "courseWorkId": "",
  "courseWorkType": "",
  "creationTime": "",
  "draftGrade": "",
  "id": "",
  "late": false,
  "multipleChoiceSubmission": {
    "answer": ""
  },
  "shortAnswerSubmission": {
    "answer": ""
  },
  "state": "",
  "submissionHistory": [
    {
      "gradeHistory": {
        "actorUserId": "",
        "gradeChangeType": "",
        "gradeTimestamp": "",
        "maxPoints": "",
        "pointsEarned": ""
      },
      "stateHistory": {
        "actorUserId": "",
        "state": "",
        "stateTimestamp": ""
      }
    }
  ],
  "updateTime": "",
  "userId": ""
}',
  'headers' => [
    'content-type' => 'application/json',
  ],
]);

echo $response->getBody();
setUrl('{{baseUrl}}/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions/:id');
$request->setMethod(HttpRequest::HTTP_METH_PATCH);

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

$request->setContentType('application/json');
$request->setBody(json_encode([
  'alternateLink' => '',
  'assignedGrade' => '',
  'assignmentSubmission' => [
    'attachments' => [
        [
                'driveFile' => [
                                'alternateLink' => '',
                                'id' => '',
                                'thumbnailUrl' => '',
                                'title' => ''
                ],
                'form' => [
                                'formUrl' => '',
                                'responseUrl' => '',
                                'thumbnailUrl' => '',
                                'title' => ''
                ],
                'link' => [
                                'thumbnailUrl' => '',
                                'title' => '',
                                'url' => ''
                ],
                'youTubeVideo' => [
                                'alternateLink' => '',
                                'id' => '',
                                'thumbnailUrl' => '',
                                'title' => ''
                ]
        ]
    ]
  ],
  'associatedWithDeveloper' => null,
  'courseId' => '',
  'courseWorkId' => '',
  'courseWorkType' => '',
  'creationTime' => '',
  'draftGrade' => '',
  'id' => '',
  'late' => null,
  'multipleChoiceSubmission' => [
    'answer' => ''
  ],
  'shortAnswerSubmission' => [
    'answer' => ''
  ],
  'state' => '',
  'submissionHistory' => [
    [
        'gradeHistory' => [
                'actorUserId' => '',
                'gradeChangeType' => '',
                'gradeTimestamp' => '',
                'maxPoints' => '',
                'pointsEarned' => ''
        ],
        'stateHistory' => [
                'actorUserId' => '',
                'state' => '',
                'stateTimestamp' => ''
        ]
    ]
  ],
  'updateTime' => '',
  'userId' => ''
]));

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

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
append(json_encode([
  'alternateLink' => '',
  'assignedGrade' => '',
  'assignmentSubmission' => [
    'attachments' => [
        [
                'driveFile' => [
                                'alternateLink' => '',
                                'id' => '',
                                'thumbnailUrl' => '',
                                'title' => ''
                ],
                'form' => [
                                'formUrl' => '',
                                'responseUrl' => '',
                                'thumbnailUrl' => '',
                                'title' => ''
                ],
                'link' => [
                                'thumbnailUrl' => '',
                                'title' => '',
                                'url' => ''
                ],
                'youTubeVideo' => [
                                'alternateLink' => '',
                                'id' => '',
                                'thumbnailUrl' => '',
                                'title' => ''
                ]
        ]
    ]
  ],
  'associatedWithDeveloper' => null,
  'courseId' => '',
  'courseWorkId' => '',
  'courseWorkType' => '',
  'creationTime' => '',
  'draftGrade' => '',
  'id' => '',
  'late' => null,
  'multipleChoiceSubmission' => [
    'answer' => ''
  ],
  'shortAnswerSubmission' => [
    'answer' => ''
  ],
  'state' => '',
  'submissionHistory' => [
    [
        'gradeHistory' => [
                'actorUserId' => '',
                'gradeChangeType' => '',
                'gradeTimestamp' => '',
                'maxPoints' => '',
                'pointsEarned' => ''
        ],
        'stateHistory' => [
                'actorUserId' => '',
                'state' => '',
                'stateTimestamp' => ''
        ]
    ]
  ],
  'updateTime' => '',
  'userId' => ''
]));
$request->setRequestUrl('{{baseUrl}}/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions/:id');
$request->setRequestMethod('PATCH');
$request->setBody($body);

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

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

echo $response->getBody();
$headers=@{}
$headers.Add("content-type", "application/json")
$response = Invoke-WebRequest -Uri '{{baseUrl}}/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions/:id' -Method PATCH -Headers $headers -ContentType 'application/json' -Body '{
  "alternateLink": "",
  "assignedGrade": "",
  "assignmentSubmission": {
    "attachments": [
      {
        "driveFile": {
          "alternateLink": "",
          "id": "",
          "thumbnailUrl": "",
          "title": ""
        },
        "form": {
          "formUrl": "",
          "responseUrl": "",
          "thumbnailUrl": "",
          "title": ""
        },
        "link": {
          "thumbnailUrl": "",
          "title": "",
          "url": ""
        },
        "youTubeVideo": {
          "alternateLink": "",
          "id": "",
          "thumbnailUrl": "",
          "title": ""
        }
      }
    ]
  },
  "associatedWithDeveloper": false,
  "courseId": "",
  "courseWorkId": "",
  "courseWorkType": "",
  "creationTime": "",
  "draftGrade": "",
  "id": "",
  "late": false,
  "multipleChoiceSubmission": {
    "answer": ""
  },
  "shortAnswerSubmission": {
    "answer": ""
  },
  "state": "",
  "submissionHistory": [
    {
      "gradeHistory": {
        "actorUserId": "",
        "gradeChangeType": "",
        "gradeTimestamp": "",
        "maxPoints": "",
        "pointsEarned": ""
      },
      "stateHistory": {
        "actorUserId": "",
        "state": "",
        "stateTimestamp": ""
      }
    }
  ],
  "updateTime": "",
  "userId": ""
}'
$headers=@{}
$headers.Add("content-type", "application/json")
$response = Invoke-RestMethod -Uri '{{baseUrl}}/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions/:id' -Method PATCH -Headers $headers -ContentType 'application/json' -Body '{
  "alternateLink": "",
  "assignedGrade": "",
  "assignmentSubmission": {
    "attachments": [
      {
        "driveFile": {
          "alternateLink": "",
          "id": "",
          "thumbnailUrl": "",
          "title": ""
        },
        "form": {
          "formUrl": "",
          "responseUrl": "",
          "thumbnailUrl": "",
          "title": ""
        },
        "link": {
          "thumbnailUrl": "",
          "title": "",
          "url": ""
        },
        "youTubeVideo": {
          "alternateLink": "",
          "id": "",
          "thumbnailUrl": "",
          "title": ""
        }
      }
    ]
  },
  "associatedWithDeveloper": false,
  "courseId": "",
  "courseWorkId": "",
  "courseWorkType": "",
  "creationTime": "",
  "draftGrade": "",
  "id": "",
  "late": false,
  "multipleChoiceSubmission": {
    "answer": ""
  },
  "shortAnswerSubmission": {
    "answer": ""
  },
  "state": "",
  "submissionHistory": [
    {
      "gradeHistory": {
        "actorUserId": "",
        "gradeChangeType": "",
        "gradeTimestamp": "",
        "maxPoints": "",
        "pointsEarned": ""
      },
      "stateHistory": {
        "actorUserId": "",
        "state": "",
        "stateTimestamp": ""
      }
    }
  ],
  "updateTime": "",
  "userId": ""
}'
import http.client

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

payload = "{\n  \"alternateLink\": \"\",\n  \"assignedGrade\": \"\",\n  \"assignmentSubmission\": {\n    \"attachments\": [\n      {\n        \"driveFile\": {\n          \"alternateLink\": \"\",\n          \"id\": \"\",\n          \"thumbnailUrl\": \"\",\n          \"title\": \"\"\n        },\n        \"form\": {\n          \"formUrl\": \"\",\n          \"responseUrl\": \"\",\n          \"thumbnailUrl\": \"\",\n          \"title\": \"\"\n        },\n        \"link\": {\n          \"thumbnailUrl\": \"\",\n          \"title\": \"\",\n          \"url\": \"\"\n        },\n        \"youTubeVideo\": {\n          \"alternateLink\": \"\",\n          \"id\": \"\",\n          \"thumbnailUrl\": \"\",\n          \"title\": \"\"\n        }\n      }\n    ]\n  },\n  \"associatedWithDeveloper\": false,\n  \"courseId\": \"\",\n  \"courseWorkId\": \"\",\n  \"courseWorkType\": \"\",\n  \"creationTime\": \"\",\n  \"draftGrade\": \"\",\n  \"id\": \"\",\n  \"late\": false,\n  \"multipleChoiceSubmission\": {\n    \"answer\": \"\"\n  },\n  \"shortAnswerSubmission\": {\n    \"answer\": \"\"\n  },\n  \"state\": \"\",\n  \"submissionHistory\": [\n    {\n      \"gradeHistory\": {\n        \"actorUserId\": \"\",\n        \"gradeChangeType\": \"\",\n        \"gradeTimestamp\": \"\",\n        \"maxPoints\": \"\",\n        \"pointsEarned\": \"\"\n      },\n      \"stateHistory\": {\n        \"actorUserId\": \"\",\n        \"state\": \"\",\n        \"stateTimestamp\": \"\"\n      }\n    }\n  ],\n  \"updateTime\": \"\",\n  \"userId\": \"\"\n}"

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

conn.request("PATCH", "/baseUrl/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions/:id", payload, headers)

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

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

url = "{{baseUrl}}/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions/:id"

payload = {
    "alternateLink": "",
    "assignedGrade": "",
    "assignmentSubmission": { "attachments": [
            {
                "driveFile": {
                    "alternateLink": "",
                    "id": "",
                    "thumbnailUrl": "",
                    "title": ""
                },
                "form": {
                    "formUrl": "",
                    "responseUrl": "",
                    "thumbnailUrl": "",
                    "title": ""
                },
                "link": {
                    "thumbnailUrl": "",
                    "title": "",
                    "url": ""
                },
                "youTubeVideo": {
                    "alternateLink": "",
                    "id": "",
                    "thumbnailUrl": "",
                    "title": ""
                }
            }
        ] },
    "associatedWithDeveloper": False,
    "courseId": "",
    "courseWorkId": "",
    "courseWorkType": "",
    "creationTime": "",
    "draftGrade": "",
    "id": "",
    "late": False,
    "multipleChoiceSubmission": { "answer": "" },
    "shortAnswerSubmission": { "answer": "" },
    "state": "",
    "submissionHistory": [
        {
            "gradeHistory": {
                "actorUserId": "",
                "gradeChangeType": "",
                "gradeTimestamp": "",
                "maxPoints": "",
                "pointsEarned": ""
            },
            "stateHistory": {
                "actorUserId": "",
                "state": "",
                "stateTimestamp": ""
            }
        }
    ],
    "updateTime": "",
    "userId": ""
}
headers = {"content-type": "application/json"}

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

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

url <- "{{baseUrl}}/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions/:id"

payload <- "{\n  \"alternateLink\": \"\",\n  \"assignedGrade\": \"\",\n  \"assignmentSubmission\": {\n    \"attachments\": [\n      {\n        \"driveFile\": {\n          \"alternateLink\": \"\",\n          \"id\": \"\",\n          \"thumbnailUrl\": \"\",\n          \"title\": \"\"\n        },\n        \"form\": {\n          \"formUrl\": \"\",\n          \"responseUrl\": \"\",\n          \"thumbnailUrl\": \"\",\n          \"title\": \"\"\n        },\n        \"link\": {\n          \"thumbnailUrl\": \"\",\n          \"title\": \"\",\n          \"url\": \"\"\n        },\n        \"youTubeVideo\": {\n          \"alternateLink\": \"\",\n          \"id\": \"\",\n          \"thumbnailUrl\": \"\",\n          \"title\": \"\"\n        }\n      }\n    ]\n  },\n  \"associatedWithDeveloper\": false,\n  \"courseId\": \"\",\n  \"courseWorkId\": \"\",\n  \"courseWorkType\": \"\",\n  \"creationTime\": \"\",\n  \"draftGrade\": \"\",\n  \"id\": \"\",\n  \"late\": false,\n  \"multipleChoiceSubmission\": {\n    \"answer\": \"\"\n  },\n  \"shortAnswerSubmission\": {\n    \"answer\": \"\"\n  },\n  \"state\": \"\",\n  \"submissionHistory\": [\n    {\n      \"gradeHistory\": {\n        \"actorUserId\": \"\",\n        \"gradeChangeType\": \"\",\n        \"gradeTimestamp\": \"\",\n        \"maxPoints\": \"\",\n        \"pointsEarned\": \"\"\n      },\n      \"stateHistory\": {\n        \"actorUserId\": \"\",\n        \"state\": \"\",\n        \"stateTimestamp\": \"\"\n      }\n    }\n  ],\n  \"updateTime\": \"\",\n  \"userId\": \"\"\n}"

encode <- "json"

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

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

url = URI("{{baseUrl}}/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions/:id")

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

request = Net::HTTP::Patch.new(url)
request["content-type"] = 'application/json'
request.body = "{\n  \"alternateLink\": \"\",\n  \"assignedGrade\": \"\",\n  \"assignmentSubmission\": {\n    \"attachments\": [\n      {\n        \"driveFile\": {\n          \"alternateLink\": \"\",\n          \"id\": \"\",\n          \"thumbnailUrl\": \"\",\n          \"title\": \"\"\n        },\n        \"form\": {\n          \"formUrl\": \"\",\n          \"responseUrl\": \"\",\n          \"thumbnailUrl\": \"\",\n          \"title\": \"\"\n        },\n        \"link\": {\n          \"thumbnailUrl\": \"\",\n          \"title\": \"\",\n          \"url\": \"\"\n        },\n        \"youTubeVideo\": {\n          \"alternateLink\": \"\",\n          \"id\": \"\",\n          \"thumbnailUrl\": \"\",\n          \"title\": \"\"\n        }\n      }\n    ]\n  },\n  \"associatedWithDeveloper\": false,\n  \"courseId\": \"\",\n  \"courseWorkId\": \"\",\n  \"courseWorkType\": \"\",\n  \"creationTime\": \"\",\n  \"draftGrade\": \"\",\n  \"id\": \"\",\n  \"late\": false,\n  \"multipleChoiceSubmission\": {\n    \"answer\": \"\"\n  },\n  \"shortAnswerSubmission\": {\n    \"answer\": \"\"\n  },\n  \"state\": \"\",\n  \"submissionHistory\": [\n    {\n      \"gradeHistory\": {\n        \"actorUserId\": \"\",\n        \"gradeChangeType\": \"\",\n        \"gradeTimestamp\": \"\",\n        \"maxPoints\": \"\",\n        \"pointsEarned\": \"\"\n      },\n      \"stateHistory\": {\n        \"actorUserId\": \"\",\n        \"state\": \"\",\n        \"stateTimestamp\": \"\"\n      }\n    }\n  ],\n  \"updateTime\": \"\",\n  \"userId\": \"\"\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.patch('/baseUrl/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions/:id') do |req|
  req.body = "{\n  \"alternateLink\": \"\",\n  \"assignedGrade\": \"\",\n  \"assignmentSubmission\": {\n    \"attachments\": [\n      {\n        \"driveFile\": {\n          \"alternateLink\": \"\",\n          \"id\": \"\",\n          \"thumbnailUrl\": \"\",\n          \"title\": \"\"\n        },\n        \"form\": {\n          \"formUrl\": \"\",\n          \"responseUrl\": \"\",\n          \"thumbnailUrl\": \"\",\n          \"title\": \"\"\n        },\n        \"link\": {\n          \"thumbnailUrl\": \"\",\n          \"title\": \"\",\n          \"url\": \"\"\n        },\n        \"youTubeVideo\": {\n          \"alternateLink\": \"\",\n          \"id\": \"\",\n          \"thumbnailUrl\": \"\",\n          \"title\": \"\"\n        }\n      }\n    ]\n  },\n  \"associatedWithDeveloper\": false,\n  \"courseId\": \"\",\n  \"courseWorkId\": \"\",\n  \"courseWorkType\": \"\",\n  \"creationTime\": \"\",\n  \"draftGrade\": \"\",\n  \"id\": \"\",\n  \"late\": false,\n  \"multipleChoiceSubmission\": {\n    \"answer\": \"\"\n  },\n  \"shortAnswerSubmission\": {\n    \"answer\": \"\"\n  },\n  \"state\": \"\",\n  \"submissionHistory\": [\n    {\n      \"gradeHistory\": {\n        \"actorUserId\": \"\",\n        \"gradeChangeType\": \"\",\n        \"gradeTimestamp\": \"\",\n        \"maxPoints\": \"\",\n        \"pointsEarned\": \"\"\n      },\n      \"stateHistory\": {\n        \"actorUserId\": \"\",\n        \"state\": \"\",\n        \"stateTimestamp\": \"\"\n      }\n    }\n  ],\n  \"updateTime\": \"\",\n  \"userId\": \"\"\n}"
end

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

#[tokio::main]
pub async fn main() {
    let url = "{{baseUrl}}/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions/:id";

    let payload = json!({
        "alternateLink": "",
        "assignedGrade": "",
        "assignmentSubmission": json!({"attachments": (
                json!({
                    "driveFile": json!({
                        "alternateLink": "",
                        "id": "",
                        "thumbnailUrl": "",
                        "title": ""
                    }),
                    "form": json!({
                        "formUrl": "",
                        "responseUrl": "",
                        "thumbnailUrl": "",
                        "title": ""
                    }),
                    "link": json!({
                        "thumbnailUrl": "",
                        "title": "",
                        "url": ""
                    }),
                    "youTubeVideo": json!({
                        "alternateLink": "",
                        "id": "",
                        "thumbnailUrl": "",
                        "title": ""
                    })
                })
            )}),
        "associatedWithDeveloper": false,
        "courseId": "",
        "courseWorkId": "",
        "courseWorkType": "",
        "creationTime": "",
        "draftGrade": "",
        "id": "",
        "late": false,
        "multipleChoiceSubmission": json!({"answer": ""}),
        "shortAnswerSubmission": json!({"answer": ""}),
        "state": "",
        "submissionHistory": (
            json!({
                "gradeHistory": json!({
                    "actorUserId": "",
                    "gradeChangeType": "",
                    "gradeTimestamp": "",
                    "maxPoints": "",
                    "pointsEarned": ""
                }),
                "stateHistory": json!({
                    "actorUserId": "",
                    "state": "",
                    "stateTimestamp": ""
                })
            })
        ),
        "updateTime": "",
        "userId": ""
    });

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

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

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

    dbg!(results);
}
curl --request PATCH \
  --url {{baseUrl}}/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions/:id \
  --header 'content-type: application/json' \
  --data '{
  "alternateLink": "",
  "assignedGrade": "",
  "assignmentSubmission": {
    "attachments": [
      {
        "driveFile": {
          "alternateLink": "",
          "id": "",
          "thumbnailUrl": "",
          "title": ""
        },
        "form": {
          "formUrl": "",
          "responseUrl": "",
          "thumbnailUrl": "",
          "title": ""
        },
        "link": {
          "thumbnailUrl": "",
          "title": "",
          "url": ""
        },
        "youTubeVideo": {
          "alternateLink": "",
          "id": "",
          "thumbnailUrl": "",
          "title": ""
        }
      }
    ]
  },
  "associatedWithDeveloper": false,
  "courseId": "",
  "courseWorkId": "",
  "courseWorkType": "",
  "creationTime": "",
  "draftGrade": "",
  "id": "",
  "late": false,
  "multipleChoiceSubmission": {
    "answer": ""
  },
  "shortAnswerSubmission": {
    "answer": ""
  },
  "state": "",
  "submissionHistory": [
    {
      "gradeHistory": {
        "actorUserId": "",
        "gradeChangeType": "",
        "gradeTimestamp": "",
        "maxPoints": "",
        "pointsEarned": ""
      },
      "stateHistory": {
        "actorUserId": "",
        "state": "",
        "stateTimestamp": ""
      }
    }
  ],
  "updateTime": "",
  "userId": ""
}'
echo '{
  "alternateLink": "",
  "assignedGrade": "",
  "assignmentSubmission": {
    "attachments": [
      {
        "driveFile": {
          "alternateLink": "",
          "id": "",
          "thumbnailUrl": "",
          "title": ""
        },
        "form": {
          "formUrl": "",
          "responseUrl": "",
          "thumbnailUrl": "",
          "title": ""
        },
        "link": {
          "thumbnailUrl": "",
          "title": "",
          "url": ""
        },
        "youTubeVideo": {
          "alternateLink": "",
          "id": "",
          "thumbnailUrl": "",
          "title": ""
        }
      }
    ]
  },
  "associatedWithDeveloper": false,
  "courseId": "",
  "courseWorkId": "",
  "courseWorkType": "",
  "creationTime": "",
  "draftGrade": "",
  "id": "",
  "late": false,
  "multipleChoiceSubmission": {
    "answer": ""
  },
  "shortAnswerSubmission": {
    "answer": ""
  },
  "state": "",
  "submissionHistory": [
    {
      "gradeHistory": {
        "actorUserId": "",
        "gradeChangeType": "",
        "gradeTimestamp": "",
        "maxPoints": "",
        "pointsEarned": ""
      },
      "stateHistory": {
        "actorUserId": "",
        "state": "",
        "stateTimestamp": ""
      }
    }
  ],
  "updateTime": "",
  "userId": ""
}' |  \
  http PATCH {{baseUrl}}/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions/:id \
  content-type:application/json
wget --quiet \
  --method PATCH \
  --header 'content-type: application/json' \
  --body-data '{\n  "alternateLink": "",\n  "assignedGrade": "",\n  "assignmentSubmission": {\n    "attachments": [\n      {\n        "driveFile": {\n          "alternateLink": "",\n          "id": "",\n          "thumbnailUrl": "",\n          "title": ""\n        },\n        "form": {\n          "formUrl": "",\n          "responseUrl": "",\n          "thumbnailUrl": "",\n          "title": ""\n        },\n        "link": {\n          "thumbnailUrl": "",\n          "title": "",\n          "url": ""\n        },\n        "youTubeVideo": {\n          "alternateLink": "",\n          "id": "",\n          "thumbnailUrl": "",\n          "title": ""\n        }\n      }\n    ]\n  },\n  "associatedWithDeveloper": false,\n  "courseId": "",\n  "courseWorkId": "",\n  "courseWorkType": "",\n  "creationTime": "",\n  "draftGrade": "",\n  "id": "",\n  "late": false,\n  "multipleChoiceSubmission": {\n    "answer": ""\n  },\n  "shortAnswerSubmission": {\n    "answer": ""\n  },\n  "state": "",\n  "submissionHistory": [\n    {\n      "gradeHistory": {\n        "actorUserId": "",\n        "gradeChangeType": "",\n        "gradeTimestamp": "",\n        "maxPoints": "",\n        "pointsEarned": ""\n      },\n      "stateHistory": {\n        "actorUserId": "",\n        "state": "",\n        "stateTimestamp": ""\n      }\n    }\n  ],\n  "updateTime": "",\n  "userId": ""\n}' \
  --output-document \
  - {{baseUrl}}/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions/:id
import Foundation

let headers = ["content-type": "application/json"]
let parameters = [
  "alternateLink": "",
  "assignedGrade": "",
  "assignmentSubmission": ["attachments": [
      [
        "driveFile": [
          "alternateLink": "",
          "id": "",
          "thumbnailUrl": "",
          "title": ""
        ],
        "form": [
          "formUrl": "",
          "responseUrl": "",
          "thumbnailUrl": "",
          "title": ""
        ],
        "link": [
          "thumbnailUrl": "",
          "title": "",
          "url": ""
        ],
        "youTubeVideo": [
          "alternateLink": "",
          "id": "",
          "thumbnailUrl": "",
          "title": ""
        ]
      ]
    ]],
  "associatedWithDeveloper": false,
  "courseId": "",
  "courseWorkId": "",
  "courseWorkType": "",
  "creationTime": "",
  "draftGrade": "",
  "id": "",
  "late": false,
  "multipleChoiceSubmission": ["answer": ""],
  "shortAnswerSubmission": ["answer": ""],
  "state": "",
  "submissionHistory": [
    [
      "gradeHistory": [
        "actorUserId": "",
        "gradeChangeType": "",
        "gradeTimestamp": "",
        "maxPoints": "",
        "pointsEarned": ""
      ],
      "stateHistory": [
        "actorUserId": "",
        "state": "",
        "stateTimestamp": ""
      ]
    ]
  ],
  "updateTime": "",
  "userId": ""
] as [String : Any]

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

let request = NSMutableURLRequest(url: NSURL(string: "{{baseUrl}}/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions/:id")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "PATCH"
request.allHTTPHeaderFields = headers
request.httpBody = postData as Data

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

dataTask.resume()
POST classroom.courses.courseWork.studentSubmissions.reclaim
{{baseUrl}}/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions/:id:reclaim
QUERY PARAMS

courseId
courseWorkId
id
BODY json

{}
Examples
REQUEST

CURL *hnd = curl_easy_init();

curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "POST");
curl_easy_setopt(hnd, CURLOPT_URL, "{{baseUrl}}/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions/:id:reclaim");

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

curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{}");

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

(client/post "{{baseUrl}}/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions/:id:reclaim" {:content-type :json})
require "http/client"

url = "{{baseUrl}}/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions/:id:reclaim"
headers = HTTP::Headers{
  "content-type" => "application/json"
}
reqBody = "{}"

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}}/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions/:id:reclaim"),
    Content = new StringContent("{}")
    {
        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}}/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions/:id:reclaim");
var request = new RestRequest("", Method.Post);
request.AddHeader("content-type", "application/json");
request.AddParameter("application/json", "{}", ParameterType.RequestBody);
var response = client.Execute(request);
package main

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

func main() {

	url := "{{baseUrl}}/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions/:id:reclaim"

	payload := strings.NewReader("{}")

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

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

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

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

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

}
POST /baseUrl/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions/:id:reclaim HTTP/1.1
Content-Type: application/json
Host: example.com
Content-Length: 2

{}
AsyncHttpClient client = new DefaultAsyncHttpClient();
client.prepare("POST", "{{baseUrl}}/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions/:id:reclaim")
  .setHeader("content-type", "application/json")
  .setBody("{}")
  .execute()
  .toCompletableFuture()
  .thenAccept(System.out::println)
  .join();

client.close();
HttpRequest request = HttpRequest.newBuilder()
    .uri(URI.create("{{baseUrl}}/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions/:id:reclaim"))
    .header("content-type", "application/json")
    .method("POST", HttpRequest.BodyPublishers.ofString("{}"))
    .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, "{}");
Request request = new Request.Builder()
  .url("{{baseUrl}}/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions/:id:reclaim")
  .post(body)
  .addHeader("content-type", "application/json")
  .build();

Response response = client.newCall(request).execute();
HttpResponse response = Unirest.post("{{baseUrl}}/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions/:id:reclaim")
  .header("content-type", "application/json")
  .body("{}")
  .asString();
const data = JSON.stringify({});

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

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

xhr.open('POST', '{{baseUrl}}/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions/:id:reclaim');
xhr.setRequestHeader('content-type', 'application/json');

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

const options = {
  method: 'POST',
  url: '{{baseUrl}}/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions/:id:reclaim',
  headers: {'content-type': 'application/json'},
  data: {}
};

try {
  const { data } = await axios.request(options);
  console.log(data);
} catch (error) {
  console.error(error);
}
const url = '{{baseUrl}}/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions/:id:reclaim';
const options = {method: 'POST', headers: {'content-type': 'application/json'}, body: '{}'};

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}}/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions/:id:reclaim',
  method: 'POST',
  headers: {
    'content-type': 'application/json'
  },
  processData: false,
  data: '{}'
};

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

val mediaType = MediaType.parse("application/json")
val body = RequestBody.create(mediaType, "{}")
val request = Request.Builder()
  .url("{{baseUrl}}/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions/:id:reclaim")
  .post(body)
  .addHeader("content-type", "application/json")
  .build()

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

const options = {
  method: 'POST',
  hostname: 'example.com',
  port: null,
  path: '/baseUrl/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions/:id:reclaim',
  headers: {
    'content-type': 'application/json'
  }
};

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

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

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

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

const options = {
  method: 'POST',
  url: '{{baseUrl}}/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions/:id:reclaim',
  headers: {'content-type': 'application/json'},
  body: {},
  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}}/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions/:id:reclaim');

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

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

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}}/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions/:id:reclaim',
  headers: {'content-type': 'application/json'},
  data: {}
};

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

const url = '{{baseUrl}}/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions/:id:reclaim';
const options = {method: 'POST', headers: {'content-type': 'application/json'}, body: '{}'};

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

NSDictionary *headers = @{ @"content-type": @"application/json" };
NSDictionary *parameters = @{  };

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

NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"{{baseUrl}}/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions/:id:reclaim"]
                                                       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}}/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions/:id:reclaim" in
let headers = Header.add (Header.init ()) "content-type" "application/json" in
let body = Cohttp_lwt_body.of_string "{}" in

Client.call ~headers ~body `POST uri
>>= fun (res, body_stream) ->
  (* Do stuff with the result *)
 "{{baseUrl}}/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions/:id:reclaim",
  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([
    
  ]),
  CURLOPT_HTTPHEADER => [
    "content-type: application/json"
  ],
]);

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

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
request('POST', '{{baseUrl}}/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions/:id:reclaim', [
  'body' => '{}',
  'headers' => [
    'content-type' => 'application/json',
  ],
]);

echo $response->getBody();
setUrl('{{baseUrl}}/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions/:id:reclaim');
$request->setMethod(HTTP_METH_POST);

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

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

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

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
append(json_encode([
  
]));
$request->setRequestUrl('{{baseUrl}}/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions/:id:reclaim');
$request->setRequestMethod('POST');
$request->setBody($body);

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

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

echo $response->getBody();
$headers=@{}
$headers.Add("content-type", "application/json")
$response = Invoke-WebRequest -Uri '{{baseUrl}}/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions/:id:reclaim' -Method POST -Headers $headers -ContentType 'application/json' -Body '{}'
$headers=@{}
$headers.Add("content-type", "application/json")
$response = Invoke-RestMethod -Uri '{{baseUrl}}/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions/:id:reclaim' -Method POST -Headers $headers -ContentType 'application/json' -Body '{}'
import http.client

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

payload = "{}"

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

conn.request("POST", "/baseUrl/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions/:id:reclaim", payload, headers)

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

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

url = "{{baseUrl}}/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions/:id:reclaim"

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

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

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

url <- "{{baseUrl}}/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions/:id:reclaim"

payload <- "{}"

encode <- "json"

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

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

url = URI("{{baseUrl}}/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions/:id:reclaim")

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

request = Net::HTTP::Post.new(url)
request["content-type"] = 'application/json'
request.body = "{}"

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/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions/:id:reclaim') do |req|
  req.body = "{}"
end

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

#[tokio::main]
pub async fn main() {
    let url = "{{baseUrl}}/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions/:id:reclaim";

    let payload = json!({});

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

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

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

    dbg!(results);
}
curl --request POST \
  --url {{baseUrl}}/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions/:id:reclaim \
  --header 'content-type: application/json' \
  --data '{}'
echo '{}' |  \
  http POST {{baseUrl}}/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions/:id:reclaim \
  content-type:application/json
wget --quiet \
  --method POST \
  --header 'content-type: application/json' \
  --body-data '{}' \
  --output-document \
  - {{baseUrl}}/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions/:id:reclaim
import Foundation

let headers = ["content-type": "application/json"]
let parameters = [] as [String : Any]

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

let request = NSMutableURLRequest(url: NSURL(string: "{{baseUrl}}/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions/:id:reclaim")! 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()
POST classroom.courses.courseWork.studentSubmissions.return
{{baseUrl}}/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions/:id:return
QUERY PARAMS

courseId
courseWorkId
id
BODY json

{}
Examples
REQUEST

CURL *hnd = curl_easy_init();

curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "POST");
curl_easy_setopt(hnd, CURLOPT_URL, "{{baseUrl}}/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions/:id:return");

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

curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{}");

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

(client/post "{{baseUrl}}/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions/:id:return" {:content-type :json})
require "http/client"

url = "{{baseUrl}}/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions/:id:return"
headers = HTTP::Headers{
  "content-type" => "application/json"
}
reqBody = "{}"

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}}/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions/:id:return"),
    Content = new StringContent("{}")
    {
        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}}/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions/:id:return");
var request = new RestRequest("", Method.Post);
request.AddHeader("content-type", "application/json");
request.AddParameter("application/json", "{}", ParameterType.RequestBody);
var response = client.Execute(request);
package main

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

func main() {

	url := "{{baseUrl}}/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions/:id:return"

	payload := strings.NewReader("{}")

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

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

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

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

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

}
POST /baseUrl/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions/:id:return HTTP/1.1
Content-Type: application/json
Host: example.com
Content-Length: 2

{}
AsyncHttpClient client = new DefaultAsyncHttpClient();
client.prepare("POST", "{{baseUrl}}/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions/:id:return")
  .setHeader("content-type", "application/json")
  .setBody("{}")
  .execute()
  .toCompletableFuture()
  .thenAccept(System.out::println)
  .join();

client.close();
HttpRequest request = HttpRequest.newBuilder()
    .uri(URI.create("{{baseUrl}}/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions/:id:return"))
    .header("content-type", "application/json")
    .method("POST", HttpRequest.BodyPublishers.ofString("{}"))
    .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, "{}");
Request request = new Request.Builder()
  .url("{{baseUrl}}/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions/:id:return")
  .post(body)
  .addHeader("content-type", "application/json")
  .build();

Response response = client.newCall(request).execute();
HttpResponse response = Unirest.post("{{baseUrl}}/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions/:id:return")
  .header("content-type", "application/json")
  .body("{}")
  .asString();
const data = JSON.stringify({});

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

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

xhr.open('POST', '{{baseUrl}}/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions/:id:return');
xhr.setRequestHeader('content-type', 'application/json');

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

const options = {
  method: 'POST',
  url: '{{baseUrl}}/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions/:id:return',
  headers: {'content-type': 'application/json'},
  data: {}
};

try {
  const { data } = await axios.request(options);
  console.log(data);
} catch (error) {
  console.error(error);
}
const url = '{{baseUrl}}/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions/:id:return';
const options = {method: 'POST', headers: {'content-type': 'application/json'}, body: '{}'};

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}}/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions/:id:return',
  method: 'POST',
  headers: {
    'content-type': 'application/json'
  },
  processData: false,
  data: '{}'
};

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

val mediaType = MediaType.parse("application/json")
val body = RequestBody.create(mediaType, "{}")
val request = Request.Builder()
  .url("{{baseUrl}}/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions/:id:return")
  .post(body)
  .addHeader("content-type", "application/json")
  .build()

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

const options = {
  method: 'POST',
  hostname: 'example.com',
  port: null,
  path: '/baseUrl/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions/:id:return',
  headers: {
    'content-type': 'application/json'
  }
};

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

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

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

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

const options = {
  method: 'POST',
  url: '{{baseUrl}}/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions/:id:return',
  headers: {'content-type': 'application/json'},
  body: {},
  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}}/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions/:id:return');

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

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

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}}/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions/:id:return',
  headers: {'content-type': 'application/json'},
  data: {}
};

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

const url = '{{baseUrl}}/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions/:id:return';
const options = {method: 'POST', headers: {'content-type': 'application/json'}, body: '{}'};

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

NSDictionary *headers = @{ @"content-type": @"application/json" };
NSDictionary *parameters = @{  };

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

NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"{{baseUrl}}/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions/:id:return"]
                                                       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}}/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions/:id:return" in
let headers = Header.add (Header.init ()) "content-type" "application/json" in
let body = Cohttp_lwt_body.of_string "{}" in

Client.call ~headers ~body `POST uri
>>= fun (res, body_stream) ->
  (* Do stuff with the result *)
 "{{baseUrl}}/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions/:id:return",
  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([
    
  ]),
  CURLOPT_HTTPHEADER => [
    "content-type: application/json"
  ],
]);

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

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
request('POST', '{{baseUrl}}/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions/:id:return', [
  'body' => '{}',
  'headers' => [
    'content-type' => 'application/json',
  ],
]);

echo $response->getBody();
setUrl('{{baseUrl}}/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions/:id:return');
$request->setMethod(HTTP_METH_POST);

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

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

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

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
append(json_encode([
  
]));
$request->setRequestUrl('{{baseUrl}}/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions/:id:return');
$request->setRequestMethod('POST');
$request->setBody($body);

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

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

echo $response->getBody();
$headers=@{}
$headers.Add("content-type", "application/json")
$response = Invoke-WebRequest -Uri '{{baseUrl}}/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions/:id:return' -Method POST -Headers $headers -ContentType 'application/json' -Body '{}'
$headers=@{}
$headers.Add("content-type", "application/json")
$response = Invoke-RestMethod -Uri '{{baseUrl}}/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions/:id:return' -Method POST -Headers $headers -ContentType 'application/json' -Body '{}'
import http.client

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

payload = "{}"

headers = { 'content-type': "application/json" }

conn.request("POST", "/baseUrl/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions/:id:return", payload, headers)

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))
import requests

url = "{{baseUrl}}/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions/:id:return"

payload = {}
headers = {"content-type": "application/json"}

response = requests.post(url, json=payload, headers=headers)

print(response.json())
library(httr)

url <- "{{baseUrl}}/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions/:id:return"

payload <- "{}"

encode <- "json"

response <- VERB("POST", url, body = payload, content_type("application/json"), encode = encode)

content(response, "text")
require 'uri'
require 'net/http'

url = URI("{{baseUrl}}/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions/:id:return")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["content-type"] = 'application/json'
request.body = "{}"

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/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions/:id:return') do |req|
  req.body = "{}"
end

puts response.status
puts response.body
use serde_json::json;
use reqwest;

#[tokio::main]
pub async fn main() {
    let url = "{{baseUrl}}/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions/:id:return";

    let payload = json!({});

    let mut headers = reqwest::header::HeaderMap::new();
    headers.insert("content-type", "application/json".parse().unwrap());

    let client = reqwest::Client::new();
    let response = client.post(url)
        .headers(headers)
        .json(&payload)
        .send()
        .await;

    let results = response.unwrap()
        .json::()
        .await
        .unwrap();

    dbg!(results);
}
curl --request POST \
  --url {{baseUrl}}/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions/:id:return \
  --header 'content-type: application/json' \
  --data '{}'
echo '{}' |  \
  http POST {{baseUrl}}/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions/:id:return \
  content-type:application/json
wget --quiet \
  --method POST \
  --header 'content-type: application/json' \
  --body-data '{}' \
  --output-document \
  - {{baseUrl}}/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions/:id:return
import Foundation

let headers = ["content-type": "application/json"]
let parameters = [] as [String : Any]

let postData = JSONSerialization.data(withJSONObject: parameters, options: [])

let request = NSMutableURLRequest(url: NSURL(string: "{{baseUrl}}/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions/:id:return")! 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()
POST classroom.courses.courseWork.studentSubmissions.turnIn
{{baseUrl}}/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions/:id:turnIn
QUERY PARAMS

courseId
courseWorkId
id
BODY json

{}
Examples
REQUEST

CURL *hnd = curl_easy_init();

curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "POST");
curl_easy_setopt(hnd, CURLOPT_URL, "{{baseUrl}}/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions/:id:turnIn");

struct curl_slist *headers = NULL;
headers = curl_slist_append(headers, "content-type: application/json");
curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers);

curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{}");

CURLcode ret = curl_easy_perform(hnd);
(require '[clj-http.client :as client])

(client/post "{{baseUrl}}/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions/:id:turnIn" {:content-type :json})
require "http/client"

url = "{{baseUrl}}/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions/:id:turnIn"
headers = HTTP::Headers{
  "content-type" => "application/json"
}
reqBody = "{}"

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}}/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions/:id:turnIn"),
    Content = new StringContent("{}")
    {
        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}}/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions/:id:turnIn");
var request = new RestRequest("", Method.Post);
request.AddHeader("content-type", "application/json");
request.AddParameter("application/json", "{}", ParameterType.RequestBody);
var response = client.Execute(request);
package main

import (
	"fmt"
	"strings"
	"net/http"
	"io"
)

func main() {

	url := "{{baseUrl}}/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions/:id:turnIn"

	payload := strings.NewReader("{}")

	req, _ := http.NewRequest("POST", url, payload)

	req.Header.Add("content-type", "application/json")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
POST /baseUrl/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions/:id:turnIn HTTP/1.1
Content-Type: application/json
Host: example.com
Content-Length: 2

{}
AsyncHttpClient client = new DefaultAsyncHttpClient();
client.prepare("POST", "{{baseUrl}}/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions/:id:turnIn")
  .setHeader("content-type", "application/json")
  .setBody("{}")
  .execute()
  .toCompletableFuture()
  .thenAccept(System.out::println)
  .join();

client.close();
HttpRequest request = HttpRequest.newBuilder()
    .uri(URI.create("{{baseUrl}}/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions/:id:turnIn"))
    .header("content-type", "application/json")
    .method("POST", HttpRequest.BodyPublishers.ofString("{}"))
    .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, "{}");
Request request = new Request.Builder()
  .url("{{baseUrl}}/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions/:id:turnIn")
  .post(body)
  .addHeader("content-type", "application/json")
  .build();

Response response = client.newCall(request).execute();
HttpResponse response = Unirest.post("{{baseUrl}}/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions/:id:turnIn")
  .header("content-type", "application/json")
  .body("{}")
  .asString();
const data = JSON.stringify({});

const xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener('readystatechange', function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open('POST', '{{baseUrl}}/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions/:id:turnIn');
xhr.setRequestHeader('content-type', 'application/json');

xhr.send(data);
import axios from 'axios';

const options = {
  method: 'POST',
  url: '{{baseUrl}}/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions/:id:turnIn',
  headers: {'content-type': 'application/json'},
  data: {}
};

try {
  const { data } = await axios.request(options);
  console.log(data);
} catch (error) {
  console.error(error);
}
const url = '{{baseUrl}}/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions/:id:turnIn';
const options = {method: 'POST', headers: {'content-type': 'application/json'}, body: '{}'};

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}}/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions/:id:turnIn',
  method: 'POST',
  headers: {
    'content-type': 'application/json'
  },
  processData: false,
  data: '{}'
};

$.ajax(settings).done(function (response) {
  console.log(response);
});
val client = OkHttpClient()

val mediaType = MediaType.parse("application/json")
val body = RequestBody.create(mediaType, "{}")
val request = Request.Builder()
  .url("{{baseUrl}}/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions/:id:turnIn")
  .post(body)
  .addHeader("content-type", "application/json")
  .build()

val response = client.newCall(request).execute()
const http = require('https');

const options = {
  method: 'POST',
  hostname: 'example.com',
  port: null,
  path: '/baseUrl/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions/:id:turnIn',
  headers: {
    'content-type': 'application/json'
  }
};

const req = http.request(options, function (res) {
  const chunks = [];

  res.on('data', function (chunk) {
    chunks.push(chunk);
  });

  res.on('end', function () {
    const body = Buffer.concat(chunks);
    console.log(body.toString());
  });
});

req.write(JSON.stringify({}));
req.end();
const request = require('request');

const options = {
  method: 'POST',
  url: '{{baseUrl}}/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions/:id:turnIn',
  headers: {'content-type': 'application/json'},
  body: {},
  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}}/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions/:id:turnIn');

req.headers({
  'content-type': 'application/json'
});

req.type('json');
req.send({});

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}}/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions/:id:turnIn',
  headers: {'content-type': 'application/json'},
  data: {}
};

try {
  const { data } = await axios.request(options);
  console.log(data);
} catch (error) {
  console.error(error);
}
const fetch = require('node-fetch');

const url = '{{baseUrl}}/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions/:id:turnIn';
const options = {method: 'POST', headers: {'content-type': 'application/json'}, body: '{}'};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
#import 

NSDictionary *headers = @{ @"content-type": @"application/json" };
NSDictionary *parameters = @{  };

NSData *postData = [NSJSONSerialization dataWithJSONObject:parameters options:0 error:nil];

NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"{{baseUrl}}/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions/:id:turnIn"]
                                                       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}}/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions/:id:turnIn" in
let headers = Header.add (Header.init ()) "content-type" "application/json" in
let body = Cohttp_lwt_body.of_string "{}" in

Client.call ~headers ~body `POST uri
>>= fun (res, body_stream) ->
  (* Do stuff with the result *)
 "{{baseUrl}}/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions/:id:turnIn",
  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([
    
  ]),
  CURLOPT_HTTPHEADER => [
    "content-type: application/json"
  ],
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
request('POST', '{{baseUrl}}/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions/:id:turnIn', [
  'body' => '{}',
  'headers' => [
    'content-type' => 'application/json',
  ],
]);

echo $response->getBody();
setUrl('{{baseUrl}}/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions/:id:turnIn');
$request->setMethod(HTTP_METH_POST);

$request->setHeaders([
  'content-type' => 'application/json'
]);

$request->setContentType('application/json');
$request->setBody(json_encode([
  
]));

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
append(json_encode([
  
]));
$request->setRequestUrl('{{baseUrl}}/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions/:id:turnIn');
$request->setRequestMethod('POST');
$request->setBody($body);

$request->setHeaders([
  'content-type' => 'application/json'
]);

$client->enqueue($request)->send();
$response = $client->getResponse();

echo $response->getBody();
$headers=@{}
$headers.Add("content-type", "application/json")
$response = Invoke-WebRequest -Uri '{{baseUrl}}/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions/:id:turnIn' -Method POST -Headers $headers -ContentType 'application/json' -Body '{}'
$headers=@{}
$headers.Add("content-type", "application/json")
$response = Invoke-RestMethod -Uri '{{baseUrl}}/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions/:id:turnIn' -Method POST -Headers $headers -ContentType 'application/json' -Body '{}'
import http.client

conn = http.client.HTTPSConnection("example.com")

payload = "{}"

headers = { 'content-type': "application/json" }

conn.request("POST", "/baseUrl/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions/:id:turnIn", payload, headers)

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))
import requests

url = "{{baseUrl}}/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions/:id:turnIn"

payload = {}
headers = {"content-type": "application/json"}

response = requests.post(url, json=payload, headers=headers)

print(response.json())
library(httr)

url <- "{{baseUrl}}/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions/:id:turnIn"

payload <- "{}"

encode <- "json"

response <- VERB("POST", url, body = payload, content_type("application/json"), encode = encode)

content(response, "text")
require 'uri'
require 'net/http'

url = URI("{{baseUrl}}/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions/:id:turnIn")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["content-type"] = 'application/json'
request.body = "{}"

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/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions/:id:turnIn') do |req|
  req.body = "{}"
end

puts response.status
puts response.body
use serde_json::json;
use reqwest;

#[tokio::main]
pub async fn main() {
    let url = "{{baseUrl}}/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions/:id:turnIn";

    let payload = json!({});

    let mut headers = reqwest::header::HeaderMap::new();
    headers.insert("content-type", "application/json".parse().unwrap());

    let client = reqwest::Client::new();
    let response = client.post(url)
        .headers(headers)
        .json(&payload)
        .send()
        .await;

    let results = response.unwrap()
        .json::()
        .await
        .unwrap();

    dbg!(results);
}
curl --request POST \
  --url {{baseUrl}}/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions/:id:turnIn \
  --header 'content-type: application/json' \
  --data '{}'
echo '{}' |  \
  http POST {{baseUrl}}/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions/:id:turnIn \
  content-type:application/json
wget --quiet \
  --method POST \
  --header 'content-type: application/json' \
  --body-data '{}' \
  --output-document \
  - {{baseUrl}}/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions/:id:turnIn
import Foundation

let headers = ["content-type": "application/json"]
let parameters = [] as [String : Any]

let postData = JSONSerialization.data(withJSONObject: parameters, options: [])

let request = NSMutableURLRequest(url: NSURL(string: "{{baseUrl}}/v1/courses/:courseId/courseWork/:courseWorkId/studentSubmissions/:id:turnIn")! 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()
POST classroom.courses.courseWorkMaterials.create
{{baseUrl}}/v1/courses/:courseId/courseWorkMaterials
QUERY PARAMS

courseId
BODY json

{
  "alternateLink": "",
  "assigneeMode": "",
  "courseId": "",
  "creationTime": "",
  "creatorUserId": "",
  "description": "",
  "id": "",
  "individualStudentsOptions": {
    "studentIds": []
  },
  "materials": [
    {
      "driveFile": {
        "driveFile": {
          "alternateLink": "",
          "id": "",
          "thumbnailUrl": "",
          "title": ""
        },
        "shareMode": ""
      },
      "form": {
        "formUrl": "",
        "responseUrl": "",
        "thumbnailUrl": "",
        "title": ""
      },
      "link": {
        "thumbnailUrl": "",
        "title": "",
        "url": ""
      },
      "youtubeVideo": {
        "alternateLink": "",
        "id": "",
        "thumbnailUrl": "",
        "title": ""
      }
    }
  ],
  "scheduledTime": "",
  "state": "",
  "title": "",
  "topicId": "",
  "updateTime": ""
}
Examples
REQUEST

CURL *hnd = curl_easy_init();

curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "POST");
curl_easy_setopt(hnd, CURLOPT_URL, "{{baseUrl}}/v1/courses/:courseId/courseWorkMaterials");

struct curl_slist *headers = NULL;
headers = curl_slist_append(headers, "content-type: application/json");
curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers);

curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\n  \"alternateLink\": \"\",\n  \"assigneeMode\": \"\",\n  \"courseId\": \"\",\n  \"creationTime\": \"\",\n  \"creatorUserId\": \"\",\n  \"description\": \"\",\n  \"id\": \"\",\n  \"individualStudentsOptions\": {\n    \"studentIds\": []\n  },\n  \"materials\": [\n    {\n      \"driveFile\": {\n        \"driveFile\": {\n          \"alternateLink\": \"\",\n          \"id\": \"\",\n          \"thumbnailUrl\": \"\",\n          \"title\": \"\"\n        },\n        \"shareMode\": \"\"\n      },\n      \"form\": {\n        \"formUrl\": \"\",\n        \"responseUrl\": \"\",\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\"\n      },\n      \"link\": {\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\",\n        \"url\": \"\"\n      },\n      \"youtubeVideo\": {\n        \"alternateLink\": \"\",\n        \"id\": \"\",\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\"\n      }\n    }\n  ],\n  \"scheduledTime\": \"\",\n  \"state\": \"\",\n  \"title\": \"\",\n  \"topicId\": \"\",\n  \"updateTime\": \"\"\n}");

CURLcode ret = curl_easy_perform(hnd);
(require '[clj-http.client :as client])

(client/post "{{baseUrl}}/v1/courses/:courseId/courseWorkMaterials" {:content-type :json
                                                                                     :form-params {:alternateLink ""
                                                                                                   :assigneeMode ""
                                                                                                   :courseId ""
                                                                                                   :creationTime ""
                                                                                                   :creatorUserId ""
                                                                                                   :description ""
                                                                                                   :id ""
                                                                                                   :individualStudentsOptions {:studentIds []}
                                                                                                   :materials [{:driveFile {:driveFile {:alternateLink ""
                                                                                                                                        :id ""
                                                                                                                                        :thumbnailUrl ""
                                                                                                                                        :title ""}
                                                                                                                            :shareMode ""}
                                                                                                                :form {:formUrl ""
                                                                                                                       :responseUrl ""
                                                                                                                       :thumbnailUrl ""
                                                                                                                       :title ""}
                                                                                                                :link {:thumbnailUrl ""
                                                                                                                       :title ""
                                                                                                                       :url ""}
                                                                                                                :youtubeVideo {:alternateLink ""
                                                                                                                               :id ""
                                                                                                                               :thumbnailUrl ""
                                                                                                                               :title ""}}]
                                                                                                   :scheduledTime ""
                                                                                                   :state ""
                                                                                                   :title ""
                                                                                                   :topicId ""
                                                                                                   :updateTime ""}})
require "http/client"

url = "{{baseUrl}}/v1/courses/:courseId/courseWorkMaterials"
headers = HTTP::Headers{
  "content-type" => "application/json"
}
reqBody = "{\n  \"alternateLink\": \"\",\n  \"assigneeMode\": \"\",\n  \"courseId\": \"\",\n  \"creationTime\": \"\",\n  \"creatorUserId\": \"\",\n  \"description\": \"\",\n  \"id\": \"\",\n  \"individualStudentsOptions\": {\n    \"studentIds\": []\n  },\n  \"materials\": [\n    {\n      \"driveFile\": {\n        \"driveFile\": {\n          \"alternateLink\": \"\",\n          \"id\": \"\",\n          \"thumbnailUrl\": \"\",\n          \"title\": \"\"\n        },\n        \"shareMode\": \"\"\n      },\n      \"form\": {\n        \"formUrl\": \"\",\n        \"responseUrl\": \"\",\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\"\n      },\n      \"link\": {\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\",\n        \"url\": \"\"\n      },\n      \"youtubeVideo\": {\n        \"alternateLink\": \"\",\n        \"id\": \"\",\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\"\n      }\n    }\n  ],\n  \"scheduledTime\": \"\",\n  \"state\": \"\",\n  \"title\": \"\",\n  \"topicId\": \"\",\n  \"updateTime\": \"\"\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}}/v1/courses/:courseId/courseWorkMaterials"),
    Content = new StringContent("{\n  \"alternateLink\": \"\",\n  \"assigneeMode\": \"\",\n  \"courseId\": \"\",\n  \"creationTime\": \"\",\n  \"creatorUserId\": \"\",\n  \"description\": \"\",\n  \"id\": \"\",\n  \"individualStudentsOptions\": {\n    \"studentIds\": []\n  },\n  \"materials\": [\n    {\n      \"driveFile\": {\n        \"driveFile\": {\n          \"alternateLink\": \"\",\n          \"id\": \"\",\n          \"thumbnailUrl\": \"\",\n          \"title\": \"\"\n        },\n        \"shareMode\": \"\"\n      },\n      \"form\": {\n        \"formUrl\": \"\",\n        \"responseUrl\": \"\",\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\"\n      },\n      \"link\": {\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\",\n        \"url\": \"\"\n      },\n      \"youtubeVideo\": {\n        \"alternateLink\": \"\",\n        \"id\": \"\",\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\"\n      }\n    }\n  ],\n  \"scheduledTime\": \"\",\n  \"state\": \"\",\n  \"title\": \"\",\n  \"topicId\": \"\",\n  \"updateTime\": \"\"\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}}/v1/courses/:courseId/courseWorkMaterials");
var request = new RestRequest("", Method.Post);
request.AddHeader("content-type", "application/json");
request.AddParameter("application/json", "{\n  \"alternateLink\": \"\",\n  \"assigneeMode\": \"\",\n  \"courseId\": \"\",\n  \"creationTime\": \"\",\n  \"creatorUserId\": \"\",\n  \"description\": \"\",\n  \"id\": \"\",\n  \"individualStudentsOptions\": {\n    \"studentIds\": []\n  },\n  \"materials\": [\n    {\n      \"driveFile\": {\n        \"driveFile\": {\n          \"alternateLink\": \"\",\n          \"id\": \"\",\n          \"thumbnailUrl\": \"\",\n          \"title\": \"\"\n        },\n        \"shareMode\": \"\"\n      },\n      \"form\": {\n        \"formUrl\": \"\",\n        \"responseUrl\": \"\",\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\"\n      },\n      \"link\": {\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\",\n        \"url\": \"\"\n      },\n      \"youtubeVideo\": {\n        \"alternateLink\": \"\",\n        \"id\": \"\",\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\"\n      }\n    }\n  ],\n  \"scheduledTime\": \"\",\n  \"state\": \"\",\n  \"title\": \"\",\n  \"topicId\": \"\",\n  \"updateTime\": \"\"\n}", ParameterType.RequestBody);
var response = client.Execute(request);
package main

import (
	"fmt"
	"strings"
	"net/http"
	"io"
)

func main() {

	url := "{{baseUrl}}/v1/courses/:courseId/courseWorkMaterials"

	payload := strings.NewReader("{\n  \"alternateLink\": \"\",\n  \"assigneeMode\": \"\",\n  \"courseId\": \"\",\n  \"creationTime\": \"\",\n  \"creatorUserId\": \"\",\n  \"description\": \"\",\n  \"id\": \"\",\n  \"individualStudentsOptions\": {\n    \"studentIds\": []\n  },\n  \"materials\": [\n    {\n      \"driveFile\": {\n        \"driveFile\": {\n          \"alternateLink\": \"\",\n          \"id\": \"\",\n          \"thumbnailUrl\": \"\",\n          \"title\": \"\"\n        },\n        \"shareMode\": \"\"\n      },\n      \"form\": {\n        \"formUrl\": \"\",\n        \"responseUrl\": \"\",\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\"\n      },\n      \"link\": {\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\",\n        \"url\": \"\"\n      },\n      \"youtubeVideo\": {\n        \"alternateLink\": \"\",\n        \"id\": \"\",\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\"\n      }\n    }\n  ],\n  \"scheduledTime\": \"\",\n  \"state\": \"\",\n  \"title\": \"\",\n  \"topicId\": \"\",\n  \"updateTime\": \"\"\n}")

	req, _ := http.NewRequest("POST", url, payload)

	req.Header.Add("content-type", "application/json")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
POST /baseUrl/v1/courses/:courseId/courseWorkMaterials HTTP/1.1
Content-Type: application/json
Host: example.com
Content-Length: 859

{
  "alternateLink": "",
  "assigneeMode": "",
  "courseId": "",
  "creationTime": "",
  "creatorUserId": "",
  "description": "",
  "id": "",
  "individualStudentsOptions": {
    "studentIds": []
  },
  "materials": [
    {
      "driveFile": {
        "driveFile": {
          "alternateLink": "",
          "id": "",
          "thumbnailUrl": "",
          "title": ""
        },
        "shareMode": ""
      },
      "form": {
        "formUrl": "",
        "responseUrl": "",
        "thumbnailUrl": "",
        "title": ""
      },
      "link": {
        "thumbnailUrl": "",
        "title": "",
        "url": ""
      },
      "youtubeVideo": {
        "alternateLink": "",
        "id": "",
        "thumbnailUrl": "",
        "title": ""
      }
    }
  ],
  "scheduledTime": "",
  "state": "",
  "title": "",
  "topicId": "",
  "updateTime": ""
}
AsyncHttpClient client = new DefaultAsyncHttpClient();
client.prepare("POST", "{{baseUrl}}/v1/courses/:courseId/courseWorkMaterials")
  .setHeader("content-type", "application/json")
  .setBody("{\n  \"alternateLink\": \"\",\n  \"assigneeMode\": \"\",\n  \"courseId\": \"\",\n  \"creationTime\": \"\",\n  \"creatorUserId\": \"\",\n  \"description\": \"\",\n  \"id\": \"\",\n  \"individualStudentsOptions\": {\n    \"studentIds\": []\n  },\n  \"materials\": [\n    {\n      \"driveFile\": {\n        \"driveFile\": {\n          \"alternateLink\": \"\",\n          \"id\": \"\",\n          \"thumbnailUrl\": \"\",\n          \"title\": \"\"\n        },\n        \"shareMode\": \"\"\n      },\n      \"form\": {\n        \"formUrl\": \"\",\n        \"responseUrl\": \"\",\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\"\n      },\n      \"link\": {\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\",\n        \"url\": \"\"\n      },\n      \"youtubeVideo\": {\n        \"alternateLink\": \"\",\n        \"id\": \"\",\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\"\n      }\n    }\n  ],\n  \"scheduledTime\": \"\",\n  \"state\": \"\",\n  \"title\": \"\",\n  \"topicId\": \"\",\n  \"updateTime\": \"\"\n}")
  .execute()
  .toCompletableFuture()
  .thenAccept(System.out::println)
  .join();

client.close();
HttpRequest request = HttpRequest.newBuilder()
    .uri(URI.create("{{baseUrl}}/v1/courses/:courseId/courseWorkMaterials"))
    .header("content-type", "application/json")
    .method("POST", HttpRequest.BodyPublishers.ofString("{\n  \"alternateLink\": \"\",\n  \"assigneeMode\": \"\",\n  \"courseId\": \"\",\n  \"creationTime\": \"\",\n  \"creatorUserId\": \"\",\n  \"description\": \"\",\n  \"id\": \"\",\n  \"individualStudentsOptions\": {\n    \"studentIds\": []\n  },\n  \"materials\": [\n    {\n      \"driveFile\": {\n        \"driveFile\": {\n          \"alternateLink\": \"\",\n          \"id\": \"\",\n          \"thumbnailUrl\": \"\",\n          \"title\": \"\"\n        },\n        \"shareMode\": \"\"\n      },\n      \"form\": {\n        \"formUrl\": \"\",\n        \"responseUrl\": \"\",\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\"\n      },\n      \"link\": {\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\",\n        \"url\": \"\"\n      },\n      \"youtubeVideo\": {\n        \"alternateLink\": \"\",\n        \"id\": \"\",\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\"\n      }\n    }\n  ],\n  \"scheduledTime\": \"\",\n  \"state\": \"\",\n  \"title\": \"\",\n  \"topicId\": \"\",\n  \"updateTime\": \"\"\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  \"alternateLink\": \"\",\n  \"assigneeMode\": \"\",\n  \"courseId\": \"\",\n  \"creationTime\": \"\",\n  \"creatorUserId\": \"\",\n  \"description\": \"\",\n  \"id\": \"\",\n  \"individualStudentsOptions\": {\n    \"studentIds\": []\n  },\n  \"materials\": [\n    {\n      \"driveFile\": {\n        \"driveFile\": {\n          \"alternateLink\": \"\",\n          \"id\": \"\",\n          \"thumbnailUrl\": \"\",\n          \"title\": \"\"\n        },\n        \"shareMode\": \"\"\n      },\n      \"form\": {\n        \"formUrl\": \"\",\n        \"responseUrl\": \"\",\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\"\n      },\n      \"link\": {\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\",\n        \"url\": \"\"\n      },\n      \"youtubeVideo\": {\n        \"alternateLink\": \"\",\n        \"id\": \"\",\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\"\n      }\n    }\n  ],\n  \"scheduledTime\": \"\",\n  \"state\": \"\",\n  \"title\": \"\",\n  \"topicId\": \"\",\n  \"updateTime\": \"\"\n}");
Request request = new Request.Builder()
  .url("{{baseUrl}}/v1/courses/:courseId/courseWorkMaterials")
  .post(body)
  .addHeader("content-type", "application/json")
  .build();

Response response = client.newCall(request).execute();
HttpResponse response = Unirest.post("{{baseUrl}}/v1/courses/:courseId/courseWorkMaterials")
  .header("content-type", "application/json")
  .body("{\n  \"alternateLink\": \"\",\n  \"assigneeMode\": \"\",\n  \"courseId\": \"\",\n  \"creationTime\": \"\",\n  \"creatorUserId\": \"\",\n  \"description\": \"\",\n  \"id\": \"\",\n  \"individualStudentsOptions\": {\n    \"studentIds\": []\n  },\n  \"materials\": [\n    {\n      \"driveFile\": {\n        \"driveFile\": {\n          \"alternateLink\": \"\",\n          \"id\": \"\",\n          \"thumbnailUrl\": \"\",\n          \"title\": \"\"\n        },\n        \"shareMode\": \"\"\n      },\n      \"form\": {\n        \"formUrl\": \"\",\n        \"responseUrl\": \"\",\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\"\n      },\n      \"link\": {\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\",\n        \"url\": \"\"\n      },\n      \"youtubeVideo\": {\n        \"alternateLink\": \"\",\n        \"id\": \"\",\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\"\n      }\n    }\n  ],\n  \"scheduledTime\": \"\",\n  \"state\": \"\",\n  \"title\": \"\",\n  \"topicId\": \"\",\n  \"updateTime\": \"\"\n}")
  .asString();
const data = JSON.stringify({
  alternateLink: '',
  assigneeMode: '',
  courseId: '',
  creationTime: '',
  creatorUserId: '',
  description: '',
  id: '',
  individualStudentsOptions: {
    studentIds: []
  },
  materials: [
    {
      driveFile: {
        driveFile: {
          alternateLink: '',
          id: '',
          thumbnailUrl: '',
          title: ''
        },
        shareMode: ''
      },
      form: {
        formUrl: '',
        responseUrl: '',
        thumbnailUrl: '',
        title: ''
      },
      link: {
        thumbnailUrl: '',
        title: '',
        url: ''
      },
      youtubeVideo: {
        alternateLink: '',
        id: '',
        thumbnailUrl: '',
        title: ''
      }
    }
  ],
  scheduledTime: '',
  state: '',
  title: '',
  topicId: '',
  updateTime: ''
});

const xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener('readystatechange', function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open('POST', '{{baseUrl}}/v1/courses/:courseId/courseWorkMaterials');
xhr.setRequestHeader('content-type', 'application/json');

xhr.send(data);
import axios from 'axios';

const options = {
  method: 'POST',
  url: '{{baseUrl}}/v1/courses/:courseId/courseWorkMaterials',
  headers: {'content-type': 'application/json'},
  data: {
    alternateLink: '',
    assigneeMode: '',
    courseId: '',
    creationTime: '',
    creatorUserId: '',
    description: '',
    id: '',
    individualStudentsOptions: {studentIds: []},
    materials: [
      {
        driveFile: {
          driveFile: {alternateLink: '', id: '', thumbnailUrl: '', title: ''},
          shareMode: ''
        },
        form: {formUrl: '', responseUrl: '', thumbnailUrl: '', title: ''},
        link: {thumbnailUrl: '', title: '', url: ''},
        youtubeVideo: {alternateLink: '', id: '', thumbnailUrl: '', title: ''}
      }
    ],
    scheduledTime: '',
    state: '',
    title: '',
    topicId: '',
    updateTime: ''
  }
};

try {
  const { data } = await axios.request(options);
  console.log(data);
} catch (error) {
  console.error(error);
}
const url = '{{baseUrl}}/v1/courses/:courseId/courseWorkMaterials';
const options = {
  method: 'POST',
  headers: {'content-type': 'application/json'},
  body: '{"alternateLink":"","assigneeMode":"","courseId":"","creationTime":"","creatorUserId":"","description":"","id":"","individualStudentsOptions":{"studentIds":[]},"materials":[{"driveFile":{"driveFile":{"alternateLink":"","id":"","thumbnailUrl":"","title":""},"shareMode":""},"form":{"formUrl":"","responseUrl":"","thumbnailUrl":"","title":""},"link":{"thumbnailUrl":"","title":"","url":""},"youtubeVideo":{"alternateLink":"","id":"","thumbnailUrl":"","title":""}}],"scheduledTime":"","state":"","title":"","topicId":"","updateTime":""}'
};

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}}/v1/courses/:courseId/courseWorkMaterials',
  method: 'POST',
  headers: {
    'content-type': 'application/json'
  },
  processData: false,
  data: '{\n  "alternateLink": "",\n  "assigneeMode": "",\n  "courseId": "",\n  "creationTime": "",\n  "creatorUserId": "",\n  "description": "",\n  "id": "",\n  "individualStudentsOptions": {\n    "studentIds": []\n  },\n  "materials": [\n    {\n      "driveFile": {\n        "driveFile": {\n          "alternateLink": "",\n          "id": "",\n          "thumbnailUrl": "",\n          "title": ""\n        },\n        "shareMode": ""\n      },\n      "form": {\n        "formUrl": "",\n        "responseUrl": "",\n        "thumbnailUrl": "",\n        "title": ""\n      },\n      "link": {\n        "thumbnailUrl": "",\n        "title": "",\n        "url": ""\n      },\n      "youtubeVideo": {\n        "alternateLink": "",\n        "id": "",\n        "thumbnailUrl": "",\n        "title": ""\n      }\n    }\n  ],\n  "scheduledTime": "",\n  "state": "",\n  "title": "",\n  "topicId": "",\n  "updateTime": ""\n}'
};

$.ajax(settings).done(function (response) {
  console.log(response);
});
val client = OkHttpClient()

val mediaType = MediaType.parse("application/json")
val body = RequestBody.create(mediaType, "{\n  \"alternateLink\": \"\",\n  \"assigneeMode\": \"\",\n  \"courseId\": \"\",\n  \"creationTime\": \"\",\n  \"creatorUserId\": \"\",\n  \"description\": \"\",\n  \"id\": \"\",\n  \"individualStudentsOptions\": {\n    \"studentIds\": []\n  },\n  \"materials\": [\n    {\n      \"driveFile\": {\n        \"driveFile\": {\n          \"alternateLink\": \"\",\n          \"id\": \"\",\n          \"thumbnailUrl\": \"\",\n          \"title\": \"\"\n        },\n        \"shareMode\": \"\"\n      },\n      \"form\": {\n        \"formUrl\": \"\",\n        \"responseUrl\": \"\",\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\"\n      },\n      \"link\": {\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\",\n        \"url\": \"\"\n      },\n      \"youtubeVideo\": {\n        \"alternateLink\": \"\",\n        \"id\": \"\",\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\"\n      }\n    }\n  ],\n  \"scheduledTime\": \"\",\n  \"state\": \"\",\n  \"title\": \"\",\n  \"topicId\": \"\",\n  \"updateTime\": \"\"\n}")
val request = Request.Builder()
  .url("{{baseUrl}}/v1/courses/:courseId/courseWorkMaterials")
  .post(body)
  .addHeader("content-type", "application/json")
  .build()

val response = client.newCall(request).execute()
const http = require('https');

const options = {
  method: 'POST',
  hostname: 'example.com',
  port: null,
  path: '/baseUrl/v1/courses/:courseId/courseWorkMaterials',
  headers: {
    'content-type': 'application/json'
  }
};

const req = http.request(options, function (res) {
  const chunks = [];

  res.on('data', function (chunk) {
    chunks.push(chunk);
  });

  res.on('end', function () {
    const body = Buffer.concat(chunks);
    console.log(body.toString());
  });
});

req.write(JSON.stringify({
  alternateLink: '',
  assigneeMode: '',
  courseId: '',
  creationTime: '',
  creatorUserId: '',
  description: '',
  id: '',
  individualStudentsOptions: {studentIds: []},
  materials: [
    {
      driveFile: {
        driveFile: {alternateLink: '', id: '', thumbnailUrl: '', title: ''},
        shareMode: ''
      },
      form: {formUrl: '', responseUrl: '', thumbnailUrl: '', title: ''},
      link: {thumbnailUrl: '', title: '', url: ''},
      youtubeVideo: {alternateLink: '', id: '', thumbnailUrl: '', title: ''}
    }
  ],
  scheduledTime: '',
  state: '',
  title: '',
  topicId: '',
  updateTime: ''
}));
req.end();
const request = require('request');

const options = {
  method: 'POST',
  url: '{{baseUrl}}/v1/courses/:courseId/courseWorkMaterials',
  headers: {'content-type': 'application/json'},
  body: {
    alternateLink: '',
    assigneeMode: '',
    courseId: '',
    creationTime: '',
    creatorUserId: '',
    description: '',
    id: '',
    individualStudentsOptions: {studentIds: []},
    materials: [
      {
        driveFile: {
          driveFile: {alternateLink: '', id: '', thumbnailUrl: '', title: ''},
          shareMode: ''
        },
        form: {formUrl: '', responseUrl: '', thumbnailUrl: '', title: ''},
        link: {thumbnailUrl: '', title: '', url: ''},
        youtubeVideo: {alternateLink: '', id: '', thumbnailUrl: '', title: ''}
      }
    ],
    scheduledTime: '',
    state: '',
    title: '',
    topicId: '',
    updateTime: ''
  },
  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}}/v1/courses/:courseId/courseWorkMaterials');

req.headers({
  'content-type': 'application/json'
});

req.type('json');
req.send({
  alternateLink: '',
  assigneeMode: '',
  courseId: '',
  creationTime: '',
  creatorUserId: '',
  description: '',
  id: '',
  individualStudentsOptions: {
    studentIds: []
  },
  materials: [
    {
      driveFile: {
        driveFile: {
          alternateLink: '',
          id: '',
          thumbnailUrl: '',
          title: ''
        },
        shareMode: ''
      },
      form: {
        formUrl: '',
        responseUrl: '',
        thumbnailUrl: '',
        title: ''
      },
      link: {
        thumbnailUrl: '',
        title: '',
        url: ''
      },
      youtubeVideo: {
        alternateLink: '',
        id: '',
        thumbnailUrl: '',
        title: ''
      }
    }
  ],
  scheduledTime: '',
  state: '',
  title: '',
  topicId: '',
  updateTime: ''
});

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}}/v1/courses/:courseId/courseWorkMaterials',
  headers: {'content-type': 'application/json'},
  data: {
    alternateLink: '',
    assigneeMode: '',
    courseId: '',
    creationTime: '',
    creatorUserId: '',
    description: '',
    id: '',
    individualStudentsOptions: {studentIds: []},
    materials: [
      {
        driveFile: {
          driveFile: {alternateLink: '', id: '', thumbnailUrl: '', title: ''},
          shareMode: ''
        },
        form: {formUrl: '', responseUrl: '', thumbnailUrl: '', title: ''},
        link: {thumbnailUrl: '', title: '', url: ''},
        youtubeVideo: {alternateLink: '', id: '', thumbnailUrl: '', title: ''}
      }
    ],
    scheduledTime: '',
    state: '',
    title: '',
    topicId: '',
    updateTime: ''
  }
};

try {
  const { data } = await axios.request(options);
  console.log(data);
} catch (error) {
  console.error(error);
}
const fetch = require('node-fetch');

const url = '{{baseUrl}}/v1/courses/:courseId/courseWorkMaterials';
const options = {
  method: 'POST',
  headers: {'content-type': 'application/json'},
  body: '{"alternateLink":"","assigneeMode":"","courseId":"","creationTime":"","creatorUserId":"","description":"","id":"","individualStudentsOptions":{"studentIds":[]},"materials":[{"driveFile":{"driveFile":{"alternateLink":"","id":"","thumbnailUrl":"","title":""},"shareMode":""},"form":{"formUrl":"","responseUrl":"","thumbnailUrl":"","title":""},"link":{"thumbnailUrl":"","title":"","url":""},"youtubeVideo":{"alternateLink":"","id":"","thumbnailUrl":"","title":""}}],"scheduledTime":"","state":"","title":"","topicId":"","updateTime":""}'
};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
#import 

NSDictionary *headers = @{ @"content-type": @"application/json" };
NSDictionary *parameters = @{ @"alternateLink": @"",
                              @"assigneeMode": @"",
                              @"courseId": @"",
                              @"creationTime": @"",
                              @"creatorUserId": @"",
                              @"description": @"",
                              @"id": @"",
                              @"individualStudentsOptions": @{ @"studentIds": @[  ] },
                              @"materials": @[ @{ @"driveFile": @{ @"driveFile": @{ @"alternateLink": @"", @"id": @"", @"thumbnailUrl": @"", @"title": @"" }, @"shareMode": @"" }, @"form": @{ @"formUrl": @"", @"responseUrl": @"", @"thumbnailUrl": @"", @"title": @"" }, @"link": @{ @"thumbnailUrl": @"", @"title": @"", @"url": @"" }, @"youtubeVideo": @{ @"alternateLink": @"", @"id": @"", @"thumbnailUrl": @"", @"title": @"" } } ],
                              @"scheduledTime": @"",
                              @"state": @"",
                              @"title": @"",
                              @"topicId": @"",
                              @"updateTime": @"" };

NSData *postData = [NSJSONSerialization dataWithJSONObject:parameters options:0 error:nil];

NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"{{baseUrl}}/v1/courses/:courseId/courseWorkMaterials"]
                                                       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}}/v1/courses/:courseId/courseWorkMaterials" in
let headers = Header.add (Header.init ()) "content-type" "application/json" in
let body = Cohttp_lwt_body.of_string "{\n  \"alternateLink\": \"\",\n  \"assigneeMode\": \"\",\n  \"courseId\": \"\",\n  \"creationTime\": \"\",\n  \"creatorUserId\": \"\",\n  \"description\": \"\",\n  \"id\": \"\",\n  \"individualStudentsOptions\": {\n    \"studentIds\": []\n  },\n  \"materials\": [\n    {\n      \"driveFile\": {\n        \"driveFile\": {\n          \"alternateLink\": \"\",\n          \"id\": \"\",\n          \"thumbnailUrl\": \"\",\n          \"title\": \"\"\n        },\n        \"shareMode\": \"\"\n      },\n      \"form\": {\n        \"formUrl\": \"\",\n        \"responseUrl\": \"\",\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\"\n      },\n      \"link\": {\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\",\n        \"url\": \"\"\n      },\n      \"youtubeVideo\": {\n        \"alternateLink\": \"\",\n        \"id\": \"\",\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\"\n      }\n    }\n  ],\n  \"scheduledTime\": \"\",\n  \"state\": \"\",\n  \"title\": \"\",\n  \"topicId\": \"\",\n  \"updateTime\": \"\"\n}" in

Client.call ~headers ~body `POST uri
>>= fun (res, body_stream) ->
  (* Do stuff with the result *)
 "{{baseUrl}}/v1/courses/:courseId/courseWorkMaterials",
  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([
    'alternateLink' => '',
    'assigneeMode' => '',
    'courseId' => '',
    'creationTime' => '',
    'creatorUserId' => '',
    'description' => '',
    'id' => '',
    'individualStudentsOptions' => [
        'studentIds' => [
                
        ]
    ],
    'materials' => [
        [
                'driveFile' => [
                                'driveFile' => [
                                                                'alternateLink' => '',
                                                                'id' => '',
                                                                'thumbnailUrl' => '',
                                                                'title' => ''
                                ],
                                'shareMode' => ''
                ],
                'form' => [
                                'formUrl' => '',
                                'responseUrl' => '',
                                'thumbnailUrl' => '',
                                'title' => ''
                ],
                'link' => [
                                'thumbnailUrl' => '',
                                'title' => '',
                                'url' => ''
                ],
                'youtubeVideo' => [
                                'alternateLink' => '',
                                'id' => '',
                                'thumbnailUrl' => '',
                                'title' => ''
                ]
        ]
    ],
    'scheduledTime' => '',
    'state' => '',
    'title' => '',
    'topicId' => '',
    'updateTime' => ''
  ]),
  CURLOPT_HTTPHEADER => [
    "content-type: application/json"
  ],
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
request('POST', '{{baseUrl}}/v1/courses/:courseId/courseWorkMaterials', [
  'body' => '{
  "alternateLink": "",
  "assigneeMode": "",
  "courseId": "",
  "creationTime": "",
  "creatorUserId": "",
  "description": "",
  "id": "",
  "individualStudentsOptions": {
    "studentIds": []
  },
  "materials": [
    {
      "driveFile": {
        "driveFile": {
          "alternateLink": "",
          "id": "",
          "thumbnailUrl": "",
          "title": ""
        },
        "shareMode": ""
      },
      "form": {
        "formUrl": "",
        "responseUrl": "",
        "thumbnailUrl": "",
        "title": ""
      },
      "link": {
        "thumbnailUrl": "",
        "title": "",
        "url": ""
      },
      "youtubeVideo": {
        "alternateLink": "",
        "id": "",
        "thumbnailUrl": "",
        "title": ""
      }
    }
  ],
  "scheduledTime": "",
  "state": "",
  "title": "",
  "topicId": "",
  "updateTime": ""
}',
  'headers' => [
    'content-type' => 'application/json',
  ],
]);

echo $response->getBody();
setUrl('{{baseUrl}}/v1/courses/:courseId/courseWorkMaterials');
$request->setMethod(HTTP_METH_POST);

$request->setHeaders([
  'content-type' => 'application/json'
]);

$request->setContentType('application/json');
$request->setBody(json_encode([
  'alternateLink' => '',
  'assigneeMode' => '',
  'courseId' => '',
  'creationTime' => '',
  'creatorUserId' => '',
  'description' => '',
  'id' => '',
  'individualStudentsOptions' => [
    'studentIds' => [
        
    ]
  ],
  'materials' => [
    [
        'driveFile' => [
                'driveFile' => [
                                'alternateLink' => '',
                                'id' => '',
                                'thumbnailUrl' => '',
                                'title' => ''
                ],
                'shareMode' => ''
        ],
        'form' => [
                'formUrl' => '',
                'responseUrl' => '',
                'thumbnailUrl' => '',
                'title' => ''
        ],
        'link' => [
                'thumbnailUrl' => '',
                'title' => '',
                'url' => ''
        ],
        'youtubeVideo' => [
                'alternateLink' => '',
                'id' => '',
                'thumbnailUrl' => '',
                'title' => ''
        ]
    ]
  ],
  'scheduledTime' => '',
  'state' => '',
  'title' => '',
  'topicId' => '',
  'updateTime' => ''
]));

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
append(json_encode([
  'alternateLink' => '',
  'assigneeMode' => '',
  'courseId' => '',
  'creationTime' => '',
  'creatorUserId' => '',
  'description' => '',
  'id' => '',
  'individualStudentsOptions' => [
    'studentIds' => [
        
    ]
  ],
  'materials' => [
    [
        'driveFile' => [
                'driveFile' => [
                                'alternateLink' => '',
                                'id' => '',
                                'thumbnailUrl' => '',
                                'title' => ''
                ],
                'shareMode' => ''
        ],
        'form' => [
                'formUrl' => '',
                'responseUrl' => '',
                'thumbnailUrl' => '',
                'title' => ''
        ],
        'link' => [
                'thumbnailUrl' => '',
                'title' => '',
                'url' => ''
        ],
        'youtubeVideo' => [
                'alternateLink' => '',
                'id' => '',
                'thumbnailUrl' => '',
                'title' => ''
        ]
    ]
  ],
  'scheduledTime' => '',
  'state' => '',
  'title' => '',
  'topicId' => '',
  'updateTime' => ''
]));
$request->setRequestUrl('{{baseUrl}}/v1/courses/:courseId/courseWorkMaterials');
$request->setRequestMethod('POST');
$request->setBody($body);

$request->setHeaders([
  'content-type' => 'application/json'
]);

$client->enqueue($request)->send();
$response = $client->getResponse();

echo $response->getBody();
$headers=@{}
$headers.Add("content-type", "application/json")
$response = Invoke-WebRequest -Uri '{{baseUrl}}/v1/courses/:courseId/courseWorkMaterials' -Method POST -Headers $headers -ContentType 'application/json' -Body '{
  "alternateLink": "",
  "assigneeMode": "",
  "courseId": "",
  "creationTime": "",
  "creatorUserId": "",
  "description": "",
  "id": "",
  "individualStudentsOptions": {
    "studentIds": []
  },
  "materials": [
    {
      "driveFile": {
        "driveFile": {
          "alternateLink": "",
          "id": "",
          "thumbnailUrl": "",
          "title": ""
        },
        "shareMode": ""
      },
      "form": {
        "formUrl": "",
        "responseUrl": "",
        "thumbnailUrl": "",
        "title": ""
      },
      "link": {
        "thumbnailUrl": "",
        "title": "",
        "url": ""
      },
      "youtubeVideo": {
        "alternateLink": "",
        "id": "",
        "thumbnailUrl": "",
        "title": ""
      }
    }
  ],
  "scheduledTime": "",
  "state": "",
  "title": "",
  "topicId": "",
  "updateTime": ""
}'
$headers=@{}
$headers.Add("content-type", "application/json")
$response = Invoke-RestMethod -Uri '{{baseUrl}}/v1/courses/:courseId/courseWorkMaterials' -Method POST -Headers $headers -ContentType 'application/json' -Body '{
  "alternateLink": "",
  "assigneeMode": "",
  "courseId": "",
  "creationTime": "",
  "creatorUserId": "",
  "description": "",
  "id": "",
  "individualStudentsOptions": {
    "studentIds": []
  },
  "materials": [
    {
      "driveFile": {
        "driveFile": {
          "alternateLink": "",
          "id": "",
          "thumbnailUrl": "",
          "title": ""
        },
        "shareMode": ""
      },
      "form": {
        "formUrl": "",
        "responseUrl": "",
        "thumbnailUrl": "",
        "title": ""
      },
      "link": {
        "thumbnailUrl": "",
        "title": "",
        "url": ""
      },
      "youtubeVideo": {
        "alternateLink": "",
        "id": "",
        "thumbnailUrl": "",
        "title": ""
      }
    }
  ],
  "scheduledTime": "",
  "state": "",
  "title": "",
  "topicId": "",
  "updateTime": ""
}'
import http.client

conn = http.client.HTTPSConnection("example.com")

payload = "{\n  \"alternateLink\": \"\",\n  \"assigneeMode\": \"\",\n  \"courseId\": \"\",\n  \"creationTime\": \"\",\n  \"creatorUserId\": \"\",\n  \"description\": \"\",\n  \"id\": \"\",\n  \"individualStudentsOptions\": {\n    \"studentIds\": []\n  },\n  \"materials\": [\n    {\n      \"driveFile\": {\n        \"driveFile\": {\n          \"alternateLink\": \"\",\n          \"id\": \"\",\n          \"thumbnailUrl\": \"\",\n          \"title\": \"\"\n        },\n        \"shareMode\": \"\"\n      },\n      \"form\": {\n        \"formUrl\": \"\",\n        \"responseUrl\": \"\",\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\"\n      },\n      \"link\": {\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\",\n        \"url\": \"\"\n      },\n      \"youtubeVideo\": {\n        \"alternateLink\": \"\",\n        \"id\": \"\",\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\"\n      }\n    }\n  ],\n  \"scheduledTime\": \"\",\n  \"state\": \"\",\n  \"title\": \"\",\n  \"topicId\": \"\",\n  \"updateTime\": \"\"\n}"

headers = { 'content-type': "application/json" }

conn.request("POST", "/baseUrl/v1/courses/:courseId/courseWorkMaterials", payload, headers)

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))
import requests

url = "{{baseUrl}}/v1/courses/:courseId/courseWorkMaterials"

payload = {
    "alternateLink": "",
    "assigneeMode": "",
    "courseId": "",
    "creationTime": "",
    "creatorUserId": "",
    "description": "",
    "id": "",
    "individualStudentsOptions": { "studentIds": [] },
    "materials": [
        {
            "driveFile": {
                "driveFile": {
                    "alternateLink": "",
                    "id": "",
                    "thumbnailUrl": "",
                    "title": ""
                },
                "shareMode": ""
            },
            "form": {
                "formUrl": "",
                "responseUrl": "",
                "thumbnailUrl": "",
                "title": ""
            },
            "link": {
                "thumbnailUrl": "",
                "title": "",
                "url": ""
            },
            "youtubeVideo": {
                "alternateLink": "",
                "id": "",
                "thumbnailUrl": "",
                "title": ""
            }
        }
    ],
    "scheduledTime": "",
    "state": "",
    "title": "",
    "topicId": "",
    "updateTime": ""
}
headers = {"content-type": "application/json"}

response = requests.post(url, json=payload, headers=headers)

print(response.json())
library(httr)

url <- "{{baseUrl}}/v1/courses/:courseId/courseWorkMaterials"

payload <- "{\n  \"alternateLink\": \"\",\n  \"assigneeMode\": \"\",\n  \"courseId\": \"\",\n  \"creationTime\": \"\",\n  \"creatorUserId\": \"\",\n  \"description\": \"\",\n  \"id\": \"\",\n  \"individualStudentsOptions\": {\n    \"studentIds\": []\n  },\n  \"materials\": [\n    {\n      \"driveFile\": {\n        \"driveFile\": {\n          \"alternateLink\": \"\",\n          \"id\": \"\",\n          \"thumbnailUrl\": \"\",\n          \"title\": \"\"\n        },\n        \"shareMode\": \"\"\n      },\n      \"form\": {\n        \"formUrl\": \"\",\n        \"responseUrl\": \"\",\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\"\n      },\n      \"link\": {\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\",\n        \"url\": \"\"\n      },\n      \"youtubeVideo\": {\n        \"alternateLink\": \"\",\n        \"id\": \"\",\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\"\n      }\n    }\n  ],\n  \"scheduledTime\": \"\",\n  \"state\": \"\",\n  \"title\": \"\",\n  \"topicId\": \"\",\n  \"updateTime\": \"\"\n}"

encode <- "json"

response <- VERB("POST", url, body = payload, content_type("application/json"), encode = encode)

content(response, "text")
require 'uri'
require 'net/http'

url = URI("{{baseUrl}}/v1/courses/:courseId/courseWorkMaterials")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["content-type"] = 'application/json'
request.body = "{\n  \"alternateLink\": \"\",\n  \"assigneeMode\": \"\",\n  \"courseId\": \"\",\n  \"creationTime\": \"\",\n  \"creatorUserId\": \"\",\n  \"description\": \"\",\n  \"id\": \"\",\n  \"individualStudentsOptions\": {\n    \"studentIds\": []\n  },\n  \"materials\": [\n    {\n      \"driveFile\": {\n        \"driveFile\": {\n          \"alternateLink\": \"\",\n          \"id\": \"\",\n          \"thumbnailUrl\": \"\",\n          \"title\": \"\"\n        },\n        \"shareMode\": \"\"\n      },\n      \"form\": {\n        \"formUrl\": \"\",\n        \"responseUrl\": \"\",\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\"\n      },\n      \"link\": {\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\",\n        \"url\": \"\"\n      },\n      \"youtubeVideo\": {\n        \"alternateLink\": \"\",\n        \"id\": \"\",\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\"\n      }\n    }\n  ],\n  \"scheduledTime\": \"\",\n  \"state\": \"\",\n  \"title\": \"\",\n  \"topicId\": \"\",\n  \"updateTime\": \"\"\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/v1/courses/:courseId/courseWorkMaterials') do |req|
  req.body = "{\n  \"alternateLink\": \"\",\n  \"assigneeMode\": \"\",\n  \"courseId\": \"\",\n  \"creationTime\": \"\",\n  \"creatorUserId\": \"\",\n  \"description\": \"\",\n  \"id\": \"\",\n  \"individualStudentsOptions\": {\n    \"studentIds\": []\n  },\n  \"materials\": [\n    {\n      \"driveFile\": {\n        \"driveFile\": {\n          \"alternateLink\": \"\",\n          \"id\": \"\",\n          \"thumbnailUrl\": \"\",\n          \"title\": \"\"\n        },\n        \"shareMode\": \"\"\n      },\n      \"form\": {\n        \"formUrl\": \"\",\n        \"responseUrl\": \"\",\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\"\n      },\n      \"link\": {\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\",\n        \"url\": \"\"\n      },\n      \"youtubeVideo\": {\n        \"alternateLink\": \"\",\n        \"id\": \"\",\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\"\n      }\n    }\n  ],\n  \"scheduledTime\": \"\",\n  \"state\": \"\",\n  \"title\": \"\",\n  \"topicId\": \"\",\n  \"updateTime\": \"\"\n}"
end

puts response.status
puts response.body
use serde_json::json;
use reqwest;

#[tokio::main]
pub async fn main() {
    let url = "{{baseUrl}}/v1/courses/:courseId/courseWorkMaterials";

    let payload = json!({
        "alternateLink": "",
        "assigneeMode": "",
        "courseId": "",
        "creationTime": "",
        "creatorUserId": "",
        "description": "",
        "id": "",
        "individualStudentsOptions": json!({"studentIds": ()}),
        "materials": (
            json!({
                "driveFile": json!({
                    "driveFile": json!({
                        "alternateLink": "",
                        "id": "",
                        "thumbnailUrl": "",
                        "title": ""
                    }),
                    "shareMode": ""
                }),
                "form": json!({
                    "formUrl": "",
                    "responseUrl": "",
                    "thumbnailUrl": "",
                    "title": ""
                }),
                "link": json!({
                    "thumbnailUrl": "",
                    "title": "",
                    "url": ""
                }),
                "youtubeVideo": json!({
                    "alternateLink": "",
                    "id": "",
                    "thumbnailUrl": "",
                    "title": ""
                })
            })
        ),
        "scheduledTime": "",
        "state": "",
        "title": "",
        "topicId": "",
        "updateTime": ""
    });

    let mut headers = reqwest::header::HeaderMap::new();
    headers.insert("content-type", "application/json".parse().unwrap());

    let client = reqwest::Client::new();
    let response = client.post(url)
        .headers(headers)
        .json(&payload)
        .send()
        .await;

    let results = response.unwrap()
        .json::()
        .await
        .unwrap();

    dbg!(results);
}
curl --request POST \
  --url {{baseUrl}}/v1/courses/:courseId/courseWorkMaterials \
  --header 'content-type: application/json' \
  --data '{
  "alternateLink": "",
  "assigneeMode": "",
  "courseId": "",
  "creationTime": "",
  "creatorUserId": "",
  "description": "",
  "id": "",
  "individualStudentsOptions": {
    "studentIds": []
  },
  "materials": [
    {
      "driveFile": {
        "driveFile": {
          "alternateLink": "",
          "id": "",
          "thumbnailUrl": "",
          "title": ""
        },
        "shareMode": ""
      },
      "form": {
        "formUrl": "",
        "responseUrl": "",
        "thumbnailUrl": "",
        "title": ""
      },
      "link": {
        "thumbnailUrl": "",
        "title": "",
        "url": ""
      },
      "youtubeVideo": {
        "alternateLink": "",
        "id": "",
        "thumbnailUrl": "",
        "title": ""
      }
    }
  ],
  "scheduledTime": "",
  "state": "",
  "title": "",
  "topicId": "",
  "updateTime": ""
}'
echo '{
  "alternateLink": "",
  "assigneeMode": "",
  "courseId": "",
  "creationTime": "",
  "creatorUserId": "",
  "description": "",
  "id": "",
  "individualStudentsOptions": {
    "studentIds": []
  },
  "materials": [
    {
      "driveFile": {
        "driveFile": {
          "alternateLink": "",
          "id": "",
          "thumbnailUrl": "",
          "title": ""
        },
        "shareMode": ""
      },
      "form": {
        "formUrl": "",
        "responseUrl": "",
        "thumbnailUrl": "",
        "title": ""
      },
      "link": {
        "thumbnailUrl": "",
        "title": "",
        "url": ""
      },
      "youtubeVideo": {
        "alternateLink": "",
        "id": "",
        "thumbnailUrl": "",
        "title": ""
      }
    }
  ],
  "scheduledTime": "",
  "state": "",
  "title": "",
  "topicId": "",
  "updateTime": ""
}' |  \
  http POST {{baseUrl}}/v1/courses/:courseId/courseWorkMaterials \
  content-type:application/json
wget --quiet \
  --method POST \
  --header 'content-type: application/json' \
  --body-data '{\n  "alternateLink": "",\n  "assigneeMode": "",\n  "courseId": "",\n  "creationTime": "",\n  "creatorUserId": "",\n  "description": "",\n  "id": "",\n  "individualStudentsOptions": {\n    "studentIds": []\n  },\n  "materials": [\n    {\n      "driveFile": {\n        "driveFile": {\n          "alternateLink": "",\n          "id": "",\n          "thumbnailUrl": "",\n          "title": ""\n        },\n        "shareMode": ""\n      },\n      "form": {\n        "formUrl": "",\n        "responseUrl": "",\n        "thumbnailUrl": "",\n        "title": ""\n      },\n      "link": {\n        "thumbnailUrl": "",\n        "title": "",\n        "url": ""\n      },\n      "youtubeVideo": {\n        "alternateLink": "",\n        "id": "",\n        "thumbnailUrl": "",\n        "title": ""\n      }\n    }\n  ],\n  "scheduledTime": "",\n  "state": "",\n  "title": "",\n  "topicId": "",\n  "updateTime": ""\n}' \
  --output-document \
  - {{baseUrl}}/v1/courses/:courseId/courseWorkMaterials
import Foundation

let headers = ["content-type": "application/json"]
let parameters = [
  "alternateLink": "",
  "assigneeMode": "",
  "courseId": "",
  "creationTime": "",
  "creatorUserId": "",
  "description": "",
  "id": "",
  "individualStudentsOptions": ["studentIds": []],
  "materials": [
    [
      "driveFile": [
        "driveFile": [
          "alternateLink": "",
          "id": "",
          "thumbnailUrl": "",
          "title": ""
        ],
        "shareMode": ""
      ],
      "form": [
        "formUrl": "",
        "responseUrl": "",
        "thumbnailUrl": "",
        "title": ""
      ],
      "link": [
        "thumbnailUrl": "",
        "title": "",
        "url": ""
      ],
      "youtubeVideo": [
        "alternateLink": "",
        "id": "",
        "thumbnailUrl": "",
        "title": ""
      ]
    ]
  ],
  "scheduledTime": "",
  "state": "",
  "title": "",
  "topicId": "",
  "updateTime": ""
] as [String : Any]

let postData = JSONSerialization.data(withJSONObject: parameters, options: [])

let request = NSMutableURLRequest(url: NSURL(string: "{{baseUrl}}/v1/courses/:courseId/courseWorkMaterials")! 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()
DELETE classroom.courses.courseWorkMaterials.delete
{{baseUrl}}/v1/courses/:courseId/courseWorkMaterials/:id
QUERY PARAMS

courseId
id
Examples
REQUEST

CURL *hnd = curl_easy_init();

curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "DELETE");
curl_easy_setopt(hnd, CURLOPT_URL, "{{baseUrl}}/v1/courses/:courseId/courseWorkMaterials/:id");

CURLcode ret = curl_easy_perform(hnd);
(require '[clj-http.client :as client])

(client/delete "{{baseUrl}}/v1/courses/:courseId/courseWorkMaterials/:id")
require "http/client"

url = "{{baseUrl}}/v1/courses/:courseId/courseWorkMaterials/:id"

response = HTTP::Client.delete url
puts response.body
using System.Net.Http.Headers;
var client = new HttpClient();
var request = new HttpRequestMessage
{
    Method = HttpMethod.Delete,
    RequestUri = new Uri("{{baseUrl}}/v1/courses/:courseId/courseWorkMaterials/:id"),
};
using (var response = await client.SendAsync(request))
{
    response.EnsureSuccessStatusCode();
    var body = await response.Content.ReadAsStringAsync();
    Console.WriteLine(body);
}
var client = new RestClient("{{baseUrl}}/v1/courses/:courseId/courseWorkMaterials/:id");
var request = new RestRequest("", Method.Delete);
var response = client.Execute(request);
package main

import (
	"fmt"
	"net/http"
	"io"
)

func main() {

	url := "{{baseUrl}}/v1/courses/:courseId/courseWorkMaterials/:id"

	req, _ := http.NewRequest("DELETE", url, nil)

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
DELETE /baseUrl/v1/courses/:courseId/courseWorkMaterials/:id HTTP/1.1
Host: example.com

AsyncHttpClient client = new DefaultAsyncHttpClient();
client.prepare("DELETE", "{{baseUrl}}/v1/courses/:courseId/courseWorkMaterials/:id")
  .execute()
  .toCompletableFuture()
  .thenAccept(System.out::println)
  .join();

client.close();
HttpRequest request = HttpRequest.newBuilder()
    .uri(URI.create("{{baseUrl}}/v1/courses/:courseId/courseWorkMaterials/:id"))
    .method("DELETE", 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}}/v1/courses/:courseId/courseWorkMaterials/:id")
  .delete(null)
  .build();

Response response = client.newCall(request).execute();
HttpResponse response = Unirest.delete("{{baseUrl}}/v1/courses/:courseId/courseWorkMaterials/:id")
  .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('DELETE', '{{baseUrl}}/v1/courses/:courseId/courseWorkMaterials/:id');

xhr.send(data);
import axios from 'axios';

const options = {
  method: 'DELETE',
  url: '{{baseUrl}}/v1/courses/:courseId/courseWorkMaterials/:id'
};

try {
  const { data } = await axios.request(options);
  console.log(data);
} catch (error) {
  console.error(error);
}
const url = '{{baseUrl}}/v1/courses/:courseId/courseWorkMaterials/:id';
const options = {method: 'DELETE'};

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}}/v1/courses/:courseId/courseWorkMaterials/:id',
  method: 'DELETE',
  headers: {}
};

$.ajax(settings).done(function (response) {
  console.log(response);
});
val client = OkHttpClient()

val request = Request.Builder()
  .url("{{baseUrl}}/v1/courses/:courseId/courseWorkMaterials/:id")
  .delete(null)
  .build()

val response = client.newCall(request).execute()
const http = require('https');

const options = {
  method: 'DELETE',
  hostname: 'example.com',
  port: null,
  path: '/baseUrl/v1/courses/:courseId/courseWorkMaterials/:id',
  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: 'DELETE',
  url: '{{baseUrl}}/v1/courses/:courseId/courseWorkMaterials/:id'
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
const unirest = require('unirest');

const req = unirest('DELETE', '{{baseUrl}}/v1/courses/:courseId/courseWorkMaterials/:id');

req.end(function (res) {
  if (res.error) throw new Error(res.error);

  console.log(res.body);
});
const axios = require('axios').default;

const options = {
  method: 'DELETE',
  url: '{{baseUrl}}/v1/courses/:courseId/courseWorkMaterials/:id'
};

try {
  const { data } = await axios.request(options);
  console.log(data);
} catch (error) {
  console.error(error);
}
const fetch = require('node-fetch');

const url = '{{baseUrl}}/v1/courses/:courseId/courseWorkMaterials/:id';
const options = {method: 'DELETE'};

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}}/v1/courses/:courseId/courseWorkMaterials/:id"]
                                                       cachePolicy:NSURLRequestUseProtocolCachePolicy
                                                   timeoutInterval:10.0];
[request setHTTPMethod:@"DELETE"];

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}}/v1/courses/:courseId/courseWorkMaterials/:id" in

Client.call `DELETE uri
>>= fun (res, body_stream) ->
  (* Do stuff with the result *)
 "{{baseUrl}}/v1/courses/:courseId/courseWorkMaterials/:id",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "DELETE",
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
request('DELETE', '{{baseUrl}}/v1/courses/:courseId/courseWorkMaterials/:id');

echo $response->getBody();
setUrl('{{baseUrl}}/v1/courses/:courseId/courseWorkMaterials/:id');
$request->setMethod(HTTP_METH_DELETE);

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
setRequestUrl('{{baseUrl}}/v1/courses/:courseId/courseWorkMaterials/:id');
$request->setRequestMethod('DELETE');
$client->enqueue($request)->send();
$response = $client->getResponse();

echo $response->getBody();
$response = Invoke-WebRequest -Uri '{{baseUrl}}/v1/courses/:courseId/courseWorkMaterials/:id' -Method DELETE 
$response = Invoke-RestMethod -Uri '{{baseUrl}}/v1/courses/:courseId/courseWorkMaterials/:id' -Method DELETE 
import http.client

conn = http.client.HTTPSConnection("example.com")

conn.request("DELETE", "/baseUrl/v1/courses/:courseId/courseWorkMaterials/:id")

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))
import requests

url = "{{baseUrl}}/v1/courses/:courseId/courseWorkMaterials/:id"

response = requests.delete(url)

print(response.json())
library(httr)

url <- "{{baseUrl}}/v1/courses/:courseId/courseWorkMaterials/:id"

response <- VERB("DELETE", url, content_type("application/octet-stream"))

content(response, "text")
require 'uri'
require 'net/http'

url = URI("{{baseUrl}}/v1/courses/:courseId/courseWorkMaterials/:id")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Delete.new(url)

response = http.request(request)
puts response.read_body
require 'faraday'

conn = Faraday.new(
  url: 'https://example.com',
)

response = conn.delete('/baseUrl/v1/courses/:courseId/courseWorkMaterials/:id') do |req|
end

puts response.status
puts response.body
use std::str::FromStr;
use reqwest;

#[tokio::main]
pub async fn main() {
    let url = "{{baseUrl}}/v1/courses/:courseId/courseWorkMaterials/:id";

    let client = reqwest::Client::new();
    let response = client.request(reqwest::Method::from_str("DELETE").unwrap(), url)
        .send()
        .await;

    let results = response.unwrap()
        .json::()
        .await
        .unwrap();

    dbg!(results);
}
curl --request DELETE \
  --url {{baseUrl}}/v1/courses/:courseId/courseWorkMaterials/:id
http DELETE {{baseUrl}}/v1/courses/:courseId/courseWorkMaterials/:id
wget --quiet \
  --method DELETE \
  --output-document \
  - {{baseUrl}}/v1/courses/:courseId/courseWorkMaterials/:id
import Foundation

let request = NSMutableURLRequest(url: NSURL(string: "{{baseUrl}}/v1/courses/:courseId/courseWorkMaterials/:id")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "DELETE"

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 classroom.courses.courseWorkMaterials.get
{{baseUrl}}/v1/courses/:courseId/courseWorkMaterials/:id
QUERY PARAMS

courseId
id
Examples
REQUEST

CURL *hnd = curl_easy_init();

curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET");
curl_easy_setopt(hnd, CURLOPT_URL, "{{baseUrl}}/v1/courses/:courseId/courseWorkMaterials/:id");

CURLcode ret = curl_easy_perform(hnd);
(require '[clj-http.client :as client])

(client/get "{{baseUrl}}/v1/courses/:courseId/courseWorkMaterials/:id")
require "http/client"

url = "{{baseUrl}}/v1/courses/:courseId/courseWorkMaterials/:id"

response = HTTP::Client.get url
puts response.body
using System.Net.Http.Headers;
var client = new HttpClient();
var request = new HttpRequestMessage
{
    Method = HttpMethod.Get,
    RequestUri = new Uri("{{baseUrl}}/v1/courses/:courseId/courseWorkMaterials/:id"),
};
using (var response = await client.SendAsync(request))
{
    response.EnsureSuccessStatusCode();
    var body = await response.Content.ReadAsStringAsync();
    Console.WriteLine(body);
}
var client = new RestClient("{{baseUrl}}/v1/courses/:courseId/courseWorkMaterials/:id");
var request = new RestRequest("", Method.Get);
var response = client.Execute(request);
package main

import (
	"fmt"
	"net/http"
	"io"
)

func main() {

	url := "{{baseUrl}}/v1/courses/:courseId/courseWorkMaterials/:id"

	req, _ := http.NewRequest("GET", url, nil)

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
GET /baseUrl/v1/courses/:courseId/courseWorkMaterials/:id HTTP/1.1
Host: example.com

AsyncHttpClient client = new DefaultAsyncHttpClient();
client.prepare("GET", "{{baseUrl}}/v1/courses/:courseId/courseWorkMaterials/:id")
  .execute()
  .toCompletableFuture()
  .thenAccept(System.out::println)
  .join();

client.close();
HttpRequest request = HttpRequest.newBuilder()
    .uri(URI.create("{{baseUrl}}/v1/courses/:courseId/courseWorkMaterials/:id"))
    .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}}/v1/courses/:courseId/courseWorkMaterials/:id")
  .get()
  .build();

Response response = client.newCall(request).execute();
HttpResponse response = Unirest.get("{{baseUrl}}/v1/courses/:courseId/courseWorkMaterials/:id")
  .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}}/v1/courses/:courseId/courseWorkMaterials/:id');

xhr.send(data);
import axios from 'axios';

const options = {
  method: 'GET',
  url: '{{baseUrl}}/v1/courses/:courseId/courseWorkMaterials/:id'
};

try {
  const { data } = await axios.request(options);
  console.log(data);
} catch (error) {
  console.error(error);
}
const url = '{{baseUrl}}/v1/courses/:courseId/courseWorkMaterials/:id';
const options = {method: 'GET'};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
const settings = {
  async: true,
  crossDomain: true,
  url: '{{baseUrl}}/v1/courses/:courseId/courseWorkMaterials/:id',
  method: 'GET',
  headers: {}
};

$.ajax(settings).done(function (response) {
  console.log(response);
});
val client = OkHttpClient()

val request = Request.Builder()
  .url("{{baseUrl}}/v1/courses/:courseId/courseWorkMaterials/:id")
  .get()
  .build()

val response = client.newCall(request).execute()
const http = require('https');

const options = {
  method: 'GET',
  hostname: 'example.com',
  port: null,
  path: '/baseUrl/v1/courses/:courseId/courseWorkMaterials/:id',
  headers: {}
};

const req = http.request(options, function (res) {
  const chunks = [];

  res.on('data', function (chunk) {
    chunks.push(chunk);
  });

  res.on('end', function () {
    const body = Buffer.concat(chunks);
    console.log(body.toString());
  });
});

req.end();
const request = require('request');

const options = {
  method: 'GET',
  url: '{{baseUrl}}/v1/courses/:courseId/courseWorkMaterials/:id'
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
const unirest = require('unirest');

const req = unirest('GET', '{{baseUrl}}/v1/courses/:courseId/courseWorkMaterials/:id');

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}}/v1/courses/:courseId/courseWorkMaterials/:id'
};

try {
  const { data } = await axios.request(options);
  console.log(data);
} catch (error) {
  console.error(error);
}
const fetch = require('node-fetch');

const url = '{{baseUrl}}/v1/courses/:courseId/courseWorkMaterials/:id';
const options = {method: 'GET'};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
#import 

NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"{{baseUrl}}/v1/courses/:courseId/courseWorkMaterials/:id"]
                                                       cachePolicy:NSURLRequestUseProtocolCachePolicy
                                                   timeoutInterval:10.0];
[request setHTTPMethod:@"GET"];

NSURLSession *session = [NSURLSession sharedSession];
NSURLSessionDataTask *dataTask = [session dataTaskWithRequest:request
                                            completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
                                                if (error) {
                                                    NSLog(@"%@", error);
                                                } else {
                                                    NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse *) response;
                                                    NSLog(@"%@", httpResponse);
                                                }
                                            }];
[dataTask resume];
open Cohttp_lwt_unix
open Cohttp
open Lwt

let uri = Uri.of_string "{{baseUrl}}/v1/courses/:courseId/courseWorkMaterials/:id" in

Client.call `GET uri
>>= fun (res, body_stream) ->
  (* Do stuff with the result *)
 "{{baseUrl}}/v1/courses/:courseId/courseWorkMaterials/:id",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "GET",
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
request('GET', '{{baseUrl}}/v1/courses/:courseId/courseWorkMaterials/:id');

echo $response->getBody();
setUrl('{{baseUrl}}/v1/courses/:courseId/courseWorkMaterials/:id');
$request->setMethod(HTTP_METH_GET);

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
setRequestUrl('{{baseUrl}}/v1/courses/:courseId/courseWorkMaterials/:id');
$request->setRequestMethod('GET');
$client->enqueue($request)->send();
$response = $client->getResponse();

echo $response->getBody();
$response = Invoke-WebRequest -Uri '{{baseUrl}}/v1/courses/:courseId/courseWorkMaterials/:id' -Method GET 
$response = Invoke-RestMethod -Uri '{{baseUrl}}/v1/courses/:courseId/courseWorkMaterials/:id' -Method GET 
import http.client

conn = http.client.HTTPSConnection("example.com")

conn.request("GET", "/baseUrl/v1/courses/:courseId/courseWorkMaterials/:id")

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))
import requests

url = "{{baseUrl}}/v1/courses/:courseId/courseWorkMaterials/:id"

response = requests.get(url)

print(response.json())
library(httr)

url <- "{{baseUrl}}/v1/courses/:courseId/courseWorkMaterials/:id"

response <- VERB("GET", url, content_type("application/octet-stream"))

content(response, "text")
require 'uri'
require 'net/http'

url = URI("{{baseUrl}}/v1/courses/:courseId/courseWorkMaterials/:id")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
require 'faraday'

conn = Faraday.new(
  url: 'https://example.com',
)

response = conn.get('/baseUrl/v1/courses/:courseId/courseWorkMaterials/:id') do |req|
end

puts response.status
puts response.body
use reqwest;

#[tokio::main]
pub async fn main() {
    let url = "{{baseUrl}}/v1/courses/:courseId/courseWorkMaterials/:id";

    let client = reqwest::Client::new();
    let response = client.get(url)
        .send()
        .await;

    let results = response.unwrap()
        .json::()
        .await
        .unwrap();

    dbg!(results);
}
curl --request GET \
  --url {{baseUrl}}/v1/courses/:courseId/courseWorkMaterials/:id
http GET {{baseUrl}}/v1/courses/:courseId/courseWorkMaterials/:id
wget --quiet \
  --method GET \
  --output-document \
  - {{baseUrl}}/v1/courses/:courseId/courseWorkMaterials/:id
import Foundation

let request = NSMutableURLRequest(url: NSURL(string: "{{baseUrl}}/v1/courses/:courseId/courseWorkMaterials/:id")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error as Any)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
GET classroom.courses.courseWorkMaterials.list
{{baseUrl}}/v1/courses/:courseId/courseWorkMaterials
QUERY PARAMS

courseId
Examples
REQUEST

CURL *hnd = curl_easy_init();

curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET");
curl_easy_setopt(hnd, CURLOPT_URL, "{{baseUrl}}/v1/courses/:courseId/courseWorkMaterials");

CURLcode ret = curl_easy_perform(hnd);
(require '[clj-http.client :as client])

(client/get "{{baseUrl}}/v1/courses/:courseId/courseWorkMaterials")
require "http/client"

url = "{{baseUrl}}/v1/courses/:courseId/courseWorkMaterials"

response = HTTP::Client.get url
puts response.body
using System.Net.Http.Headers;
var client = new HttpClient();
var request = new HttpRequestMessage
{
    Method = HttpMethod.Get,
    RequestUri = new Uri("{{baseUrl}}/v1/courses/:courseId/courseWorkMaterials"),
};
using (var response = await client.SendAsync(request))
{
    response.EnsureSuccessStatusCode();
    var body = await response.Content.ReadAsStringAsync();
    Console.WriteLine(body);
}
var client = new RestClient("{{baseUrl}}/v1/courses/:courseId/courseWorkMaterials");
var request = new RestRequest("", Method.Get);
var response = client.Execute(request);
package main

import (
	"fmt"
	"net/http"
	"io"
)

func main() {

	url := "{{baseUrl}}/v1/courses/:courseId/courseWorkMaterials"

	req, _ := http.NewRequest("GET", url, nil)

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
GET /baseUrl/v1/courses/:courseId/courseWorkMaterials HTTP/1.1
Host: example.com

AsyncHttpClient client = new DefaultAsyncHttpClient();
client.prepare("GET", "{{baseUrl}}/v1/courses/:courseId/courseWorkMaterials")
  .execute()
  .toCompletableFuture()
  .thenAccept(System.out::println)
  .join();

client.close();
HttpRequest request = HttpRequest.newBuilder()
    .uri(URI.create("{{baseUrl}}/v1/courses/:courseId/courseWorkMaterials"))
    .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}}/v1/courses/:courseId/courseWorkMaterials")
  .get()
  .build();

Response response = client.newCall(request).execute();
HttpResponse response = Unirest.get("{{baseUrl}}/v1/courses/:courseId/courseWorkMaterials")
  .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}}/v1/courses/:courseId/courseWorkMaterials');

xhr.send(data);
import axios from 'axios';

const options = {
  method: 'GET',
  url: '{{baseUrl}}/v1/courses/:courseId/courseWorkMaterials'
};

try {
  const { data } = await axios.request(options);
  console.log(data);
} catch (error) {
  console.error(error);
}
const url = '{{baseUrl}}/v1/courses/:courseId/courseWorkMaterials';
const options = {method: 'GET'};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
const settings = {
  async: true,
  crossDomain: true,
  url: '{{baseUrl}}/v1/courses/:courseId/courseWorkMaterials',
  method: 'GET',
  headers: {}
};

$.ajax(settings).done(function (response) {
  console.log(response);
});
val client = OkHttpClient()

val request = Request.Builder()
  .url("{{baseUrl}}/v1/courses/:courseId/courseWorkMaterials")
  .get()
  .build()

val response = client.newCall(request).execute()
const http = require('https');

const options = {
  method: 'GET',
  hostname: 'example.com',
  port: null,
  path: '/baseUrl/v1/courses/:courseId/courseWorkMaterials',
  headers: {}
};

const req = http.request(options, function (res) {
  const chunks = [];

  res.on('data', function (chunk) {
    chunks.push(chunk);
  });

  res.on('end', function () {
    const body = Buffer.concat(chunks);
    console.log(body.toString());
  });
});

req.end();
const request = require('request');

const options = {
  method: 'GET',
  url: '{{baseUrl}}/v1/courses/:courseId/courseWorkMaterials'
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
const unirest = require('unirest');

const req = unirest('GET', '{{baseUrl}}/v1/courses/:courseId/courseWorkMaterials');

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}}/v1/courses/:courseId/courseWorkMaterials'
};

try {
  const { data } = await axios.request(options);
  console.log(data);
} catch (error) {
  console.error(error);
}
const fetch = require('node-fetch');

const url = '{{baseUrl}}/v1/courses/:courseId/courseWorkMaterials';
const options = {method: 'GET'};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
#import 

NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"{{baseUrl}}/v1/courses/:courseId/courseWorkMaterials"]
                                                       cachePolicy:NSURLRequestUseProtocolCachePolicy
                                                   timeoutInterval:10.0];
[request setHTTPMethod:@"GET"];

NSURLSession *session = [NSURLSession sharedSession];
NSURLSessionDataTask *dataTask = [session dataTaskWithRequest:request
                                            completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
                                                if (error) {
                                                    NSLog(@"%@", error);
                                                } else {
                                                    NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse *) response;
                                                    NSLog(@"%@", httpResponse);
                                                }
                                            }];
[dataTask resume];
open Cohttp_lwt_unix
open Cohttp
open Lwt

let uri = Uri.of_string "{{baseUrl}}/v1/courses/:courseId/courseWorkMaterials" in

Client.call `GET uri
>>= fun (res, body_stream) ->
  (* Do stuff with the result *)
 "{{baseUrl}}/v1/courses/:courseId/courseWorkMaterials",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "GET",
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
request('GET', '{{baseUrl}}/v1/courses/:courseId/courseWorkMaterials');

echo $response->getBody();
setUrl('{{baseUrl}}/v1/courses/:courseId/courseWorkMaterials');
$request->setMethod(HTTP_METH_GET);

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
setRequestUrl('{{baseUrl}}/v1/courses/:courseId/courseWorkMaterials');
$request->setRequestMethod('GET');
$client->enqueue($request)->send();
$response = $client->getResponse();

echo $response->getBody();
$response = Invoke-WebRequest -Uri '{{baseUrl}}/v1/courses/:courseId/courseWorkMaterials' -Method GET 
$response = Invoke-RestMethod -Uri '{{baseUrl}}/v1/courses/:courseId/courseWorkMaterials' -Method GET 
import http.client

conn = http.client.HTTPSConnection("example.com")

conn.request("GET", "/baseUrl/v1/courses/:courseId/courseWorkMaterials")

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))
import requests

url = "{{baseUrl}}/v1/courses/:courseId/courseWorkMaterials"

response = requests.get(url)

print(response.json())
library(httr)

url <- "{{baseUrl}}/v1/courses/:courseId/courseWorkMaterials"

response <- VERB("GET", url, content_type("application/octet-stream"))

content(response, "text")
require 'uri'
require 'net/http'

url = URI("{{baseUrl}}/v1/courses/:courseId/courseWorkMaterials")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
require 'faraday'

conn = Faraday.new(
  url: 'https://example.com',
)

response = conn.get('/baseUrl/v1/courses/:courseId/courseWorkMaterials') do |req|
end

puts response.status
puts response.body
use reqwest;

#[tokio::main]
pub async fn main() {
    let url = "{{baseUrl}}/v1/courses/:courseId/courseWorkMaterials";

    let client = reqwest::Client::new();
    let response = client.get(url)
        .send()
        .await;

    let results = response.unwrap()
        .json::()
        .await
        .unwrap();

    dbg!(results);
}
curl --request GET \
  --url {{baseUrl}}/v1/courses/:courseId/courseWorkMaterials
http GET {{baseUrl}}/v1/courses/:courseId/courseWorkMaterials
wget --quiet \
  --method GET \
  --output-document \
  - {{baseUrl}}/v1/courses/:courseId/courseWorkMaterials
import Foundation

let request = NSMutableURLRequest(url: NSURL(string: "{{baseUrl}}/v1/courses/:courseId/courseWorkMaterials")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error as Any)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
PATCH classroom.courses.courseWorkMaterials.patch
{{baseUrl}}/v1/courses/:courseId/courseWorkMaterials/:id
QUERY PARAMS

courseId
id
BODY json

{
  "alternateLink": "",
  "assigneeMode": "",
  "courseId": "",
  "creationTime": "",
  "creatorUserId": "",
  "description": "",
  "id": "",
  "individualStudentsOptions": {
    "studentIds": []
  },
  "materials": [
    {
      "driveFile": {
        "driveFile": {
          "alternateLink": "",
          "id": "",
          "thumbnailUrl": "",
          "title": ""
        },
        "shareMode": ""
      },
      "form": {
        "formUrl": "",
        "responseUrl": "",
        "thumbnailUrl": "",
        "title": ""
      },
      "link": {
        "thumbnailUrl": "",
        "title": "",
        "url": ""
      },
      "youtubeVideo": {
        "alternateLink": "",
        "id": "",
        "thumbnailUrl": "",
        "title": ""
      }
    }
  ],
  "scheduledTime": "",
  "state": "",
  "title": "",
  "topicId": "",
  "updateTime": ""
}
Examples
REQUEST

CURL *hnd = curl_easy_init();

curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "PATCH");
curl_easy_setopt(hnd, CURLOPT_URL, "{{baseUrl}}/v1/courses/:courseId/courseWorkMaterials/:id");

struct curl_slist *headers = NULL;
headers = curl_slist_append(headers, "content-type: application/json");
curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers);

curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\n  \"alternateLink\": \"\",\n  \"assigneeMode\": \"\",\n  \"courseId\": \"\",\n  \"creationTime\": \"\",\n  \"creatorUserId\": \"\",\n  \"description\": \"\",\n  \"id\": \"\",\n  \"individualStudentsOptions\": {\n    \"studentIds\": []\n  },\n  \"materials\": [\n    {\n      \"driveFile\": {\n        \"driveFile\": {\n          \"alternateLink\": \"\",\n          \"id\": \"\",\n          \"thumbnailUrl\": \"\",\n          \"title\": \"\"\n        },\n        \"shareMode\": \"\"\n      },\n      \"form\": {\n        \"formUrl\": \"\",\n        \"responseUrl\": \"\",\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\"\n      },\n      \"link\": {\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\",\n        \"url\": \"\"\n      },\n      \"youtubeVideo\": {\n        \"alternateLink\": \"\",\n        \"id\": \"\",\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\"\n      }\n    }\n  ],\n  \"scheduledTime\": \"\",\n  \"state\": \"\",\n  \"title\": \"\",\n  \"topicId\": \"\",\n  \"updateTime\": \"\"\n}");

CURLcode ret = curl_easy_perform(hnd);
(require '[clj-http.client :as client])

(client/patch "{{baseUrl}}/v1/courses/:courseId/courseWorkMaterials/:id" {:content-type :json
                                                                                          :form-params {:alternateLink ""
                                                                                                        :assigneeMode ""
                                                                                                        :courseId ""
                                                                                                        :creationTime ""
                                                                                                        :creatorUserId ""
                                                                                                        :description ""
                                                                                                        :id ""
                                                                                                        :individualStudentsOptions {:studentIds []}
                                                                                                        :materials [{:driveFile {:driveFile {:alternateLink ""
                                                                                                                                             :id ""
                                                                                                                                             :thumbnailUrl ""
                                                                                                                                             :title ""}
                                                                                                                                 :shareMode ""}
                                                                                                                     :form {:formUrl ""
                                                                                                                            :responseUrl ""
                                                                                                                            :thumbnailUrl ""
                                                                                                                            :title ""}
                                                                                                                     :link {:thumbnailUrl ""
                                                                                                                            :title ""
                                                                                                                            :url ""}
                                                                                                                     :youtubeVideo {:alternateLink ""
                                                                                                                                    :id ""
                                                                                                                                    :thumbnailUrl ""
                                                                                                                                    :title ""}}]
                                                                                                        :scheduledTime ""
                                                                                                        :state ""
                                                                                                        :title ""
                                                                                                        :topicId ""
                                                                                                        :updateTime ""}})
require "http/client"

url = "{{baseUrl}}/v1/courses/:courseId/courseWorkMaterials/:id"
headers = HTTP::Headers{
  "content-type" => "application/json"
}
reqBody = "{\n  \"alternateLink\": \"\",\n  \"assigneeMode\": \"\",\n  \"courseId\": \"\",\n  \"creationTime\": \"\",\n  \"creatorUserId\": \"\",\n  \"description\": \"\",\n  \"id\": \"\",\n  \"individualStudentsOptions\": {\n    \"studentIds\": []\n  },\n  \"materials\": [\n    {\n      \"driveFile\": {\n        \"driveFile\": {\n          \"alternateLink\": \"\",\n          \"id\": \"\",\n          \"thumbnailUrl\": \"\",\n          \"title\": \"\"\n        },\n        \"shareMode\": \"\"\n      },\n      \"form\": {\n        \"formUrl\": \"\",\n        \"responseUrl\": \"\",\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\"\n      },\n      \"link\": {\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\",\n        \"url\": \"\"\n      },\n      \"youtubeVideo\": {\n        \"alternateLink\": \"\",\n        \"id\": \"\",\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\"\n      }\n    }\n  ],\n  \"scheduledTime\": \"\",\n  \"state\": \"\",\n  \"title\": \"\",\n  \"topicId\": \"\",\n  \"updateTime\": \"\"\n}"

response = HTTP::Client.patch url, headers: headers, body: reqBody
puts response.body
using System.Net.Http.Headers;
var client = new HttpClient();
var request = new HttpRequestMessage
{
    Method = HttpMethod.Patch,
    RequestUri = new Uri("{{baseUrl}}/v1/courses/:courseId/courseWorkMaterials/:id"),
    Content = new StringContent("{\n  \"alternateLink\": \"\",\n  \"assigneeMode\": \"\",\n  \"courseId\": \"\",\n  \"creationTime\": \"\",\n  \"creatorUserId\": \"\",\n  \"description\": \"\",\n  \"id\": \"\",\n  \"individualStudentsOptions\": {\n    \"studentIds\": []\n  },\n  \"materials\": [\n    {\n      \"driveFile\": {\n        \"driveFile\": {\n          \"alternateLink\": \"\",\n          \"id\": \"\",\n          \"thumbnailUrl\": \"\",\n          \"title\": \"\"\n        },\n        \"shareMode\": \"\"\n      },\n      \"form\": {\n        \"formUrl\": \"\",\n        \"responseUrl\": \"\",\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\"\n      },\n      \"link\": {\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\",\n        \"url\": \"\"\n      },\n      \"youtubeVideo\": {\n        \"alternateLink\": \"\",\n        \"id\": \"\",\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\"\n      }\n    }\n  ],\n  \"scheduledTime\": \"\",\n  \"state\": \"\",\n  \"title\": \"\",\n  \"topicId\": \"\",\n  \"updateTime\": \"\"\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}}/v1/courses/:courseId/courseWorkMaterials/:id");
var request = new RestRequest("", Method.Patch);
request.AddHeader("content-type", "application/json");
request.AddParameter("application/json", "{\n  \"alternateLink\": \"\",\n  \"assigneeMode\": \"\",\n  \"courseId\": \"\",\n  \"creationTime\": \"\",\n  \"creatorUserId\": \"\",\n  \"description\": \"\",\n  \"id\": \"\",\n  \"individualStudentsOptions\": {\n    \"studentIds\": []\n  },\n  \"materials\": [\n    {\n      \"driveFile\": {\n        \"driveFile\": {\n          \"alternateLink\": \"\",\n          \"id\": \"\",\n          \"thumbnailUrl\": \"\",\n          \"title\": \"\"\n        },\n        \"shareMode\": \"\"\n      },\n      \"form\": {\n        \"formUrl\": \"\",\n        \"responseUrl\": \"\",\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\"\n      },\n      \"link\": {\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\",\n        \"url\": \"\"\n      },\n      \"youtubeVideo\": {\n        \"alternateLink\": \"\",\n        \"id\": \"\",\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\"\n      }\n    }\n  ],\n  \"scheduledTime\": \"\",\n  \"state\": \"\",\n  \"title\": \"\",\n  \"topicId\": \"\",\n  \"updateTime\": \"\"\n}", ParameterType.RequestBody);
var response = client.Execute(request);
package main

import (
	"fmt"
	"strings"
	"net/http"
	"io"
)

func main() {

	url := "{{baseUrl}}/v1/courses/:courseId/courseWorkMaterials/:id"

	payload := strings.NewReader("{\n  \"alternateLink\": \"\",\n  \"assigneeMode\": \"\",\n  \"courseId\": \"\",\n  \"creationTime\": \"\",\n  \"creatorUserId\": \"\",\n  \"description\": \"\",\n  \"id\": \"\",\n  \"individualStudentsOptions\": {\n    \"studentIds\": []\n  },\n  \"materials\": [\n    {\n      \"driveFile\": {\n        \"driveFile\": {\n          \"alternateLink\": \"\",\n          \"id\": \"\",\n          \"thumbnailUrl\": \"\",\n          \"title\": \"\"\n        },\n        \"shareMode\": \"\"\n      },\n      \"form\": {\n        \"formUrl\": \"\",\n        \"responseUrl\": \"\",\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\"\n      },\n      \"link\": {\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\",\n        \"url\": \"\"\n      },\n      \"youtubeVideo\": {\n        \"alternateLink\": \"\",\n        \"id\": \"\",\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\"\n      }\n    }\n  ],\n  \"scheduledTime\": \"\",\n  \"state\": \"\",\n  \"title\": \"\",\n  \"topicId\": \"\",\n  \"updateTime\": \"\"\n}")

	req, _ := http.NewRequest("PATCH", url, payload)

	req.Header.Add("content-type", "application/json")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
PATCH /baseUrl/v1/courses/:courseId/courseWorkMaterials/:id HTTP/1.1
Content-Type: application/json
Host: example.com
Content-Length: 859

{
  "alternateLink": "",
  "assigneeMode": "",
  "courseId": "",
  "creationTime": "",
  "creatorUserId": "",
  "description": "",
  "id": "",
  "individualStudentsOptions": {
    "studentIds": []
  },
  "materials": [
    {
      "driveFile": {
        "driveFile": {
          "alternateLink": "",
          "id": "",
          "thumbnailUrl": "",
          "title": ""
        },
        "shareMode": ""
      },
      "form": {
        "formUrl": "",
        "responseUrl": "",
        "thumbnailUrl": "",
        "title": ""
      },
      "link": {
        "thumbnailUrl": "",
        "title": "",
        "url": ""
      },
      "youtubeVideo": {
        "alternateLink": "",
        "id": "",
        "thumbnailUrl": "",
        "title": ""
      }
    }
  ],
  "scheduledTime": "",
  "state": "",
  "title": "",
  "topicId": "",
  "updateTime": ""
}
AsyncHttpClient client = new DefaultAsyncHttpClient();
client.prepare("PATCH", "{{baseUrl}}/v1/courses/:courseId/courseWorkMaterials/:id")
  .setHeader("content-type", "application/json")
  .setBody("{\n  \"alternateLink\": \"\",\n  \"assigneeMode\": \"\",\n  \"courseId\": \"\",\n  \"creationTime\": \"\",\n  \"creatorUserId\": \"\",\n  \"description\": \"\",\n  \"id\": \"\",\n  \"individualStudentsOptions\": {\n    \"studentIds\": []\n  },\n  \"materials\": [\n    {\n      \"driveFile\": {\n        \"driveFile\": {\n          \"alternateLink\": \"\",\n          \"id\": \"\",\n          \"thumbnailUrl\": \"\",\n          \"title\": \"\"\n        },\n        \"shareMode\": \"\"\n      },\n      \"form\": {\n        \"formUrl\": \"\",\n        \"responseUrl\": \"\",\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\"\n      },\n      \"link\": {\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\",\n        \"url\": \"\"\n      },\n      \"youtubeVideo\": {\n        \"alternateLink\": \"\",\n        \"id\": \"\",\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\"\n      }\n    }\n  ],\n  \"scheduledTime\": \"\",\n  \"state\": \"\",\n  \"title\": \"\",\n  \"topicId\": \"\",\n  \"updateTime\": \"\"\n}")
  .execute()
  .toCompletableFuture()
  .thenAccept(System.out::println)
  .join();

client.close();
HttpRequest request = HttpRequest.newBuilder()
    .uri(URI.create("{{baseUrl}}/v1/courses/:courseId/courseWorkMaterials/:id"))
    .header("content-type", "application/json")
    .method("PATCH", HttpRequest.BodyPublishers.ofString("{\n  \"alternateLink\": \"\",\n  \"assigneeMode\": \"\",\n  \"courseId\": \"\",\n  \"creationTime\": \"\",\n  \"creatorUserId\": \"\",\n  \"description\": \"\",\n  \"id\": \"\",\n  \"individualStudentsOptions\": {\n    \"studentIds\": []\n  },\n  \"materials\": [\n    {\n      \"driveFile\": {\n        \"driveFile\": {\n          \"alternateLink\": \"\",\n          \"id\": \"\",\n          \"thumbnailUrl\": \"\",\n          \"title\": \"\"\n        },\n        \"shareMode\": \"\"\n      },\n      \"form\": {\n        \"formUrl\": \"\",\n        \"responseUrl\": \"\",\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\"\n      },\n      \"link\": {\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\",\n        \"url\": \"\"\n      },\n      \"youtubeVideo\": {\n        \"alternateLink\": \"\",\n        \"id\": \"\",\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\"\n      }\n    }\n  ],\n  \"scheduledTime\": \"\",\n  \"state\": \"\",\n  \"title\": \"\",\n  \"topicId\": \"\",\n  \"updateTime\": \"\"\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  \"alternateLink\": \"\",\n  \"assigneeMode\": \"\",\n  \"courseId\": \"\",\n  \"creationTime\": \"\",\n  \"creatorUserId\": \"\",\n  \"description\": \"\",\n  \"id\": \"\",\n  \"individualStudentsOptions\": {\n    \"studentIds\": []\n  },\n  \"materials\": [\n    {\n      \"driveFile\": {\n        \"driveFile\": {\n          \"alternateLink\": \"\",\n          \"id\": \"\",\n          \"thumbnailUrl\": \"\",\n          \"title\": \"\"\n        },\n        \"shareMode\": \"\"\n      },\n      \"form\": {\n        \"formUrl\": \"\",\n        \"responseUrl\": \"\",\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\"\n      },\n      \"link\": {\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\",\n        \"url\": \"\"\n      },\n      \"youtubeVideo\": {\n        \"alternateLink\": \"\",\n        \"id\": \"\",\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\"\n      }\n    }\n  ],\n  \"scheduledTime\": \"\",\n  \"state\": \"\",\n  \"title\": \"\",\n  \"topicId\": \"\",\n  \"updateTime\": \"\"\n}");
Request request = new Request.Builder()
  .url("{{baseUrl}}/v1/courses/:courseId/courseWorkMaterials/:id")
  .patch(body)
  .addHeader("content-type", "application/json")
  .build();

Response response = client.newCall(request).execute();
HttpResponse response = Unirest.patch("{{baseUrl}}/v1/courses/:courseId/courseWorkMaterials/:id")
  .header("content-type", "application/json")
  .body("{\n  \"alternateLink\": \"\",\n  \"assigneeMode\": \"\",\n  \"courseId\": \"\",\n  \"creationTime\": \"\",\n  \"creatorUserId\": \"\",\n  \"description\": \"\",\n  \"id\": \"\",\n  \"individualStudentsOptions\": {\n    \"studentIds\": []\n  },\n  \"materials\": [\n    {\n      \"driveFile\": {\n        \"driveFile\": {\n          \"alternateLink\": \"\",\n          \"id\": \"\",\n          \"thumbnailUrl\": \"\",\n          \"title\": \"\"\n        },\n        \"shareMode\": \"\"\n      },\n      \"form\": {\n        \"formUrl\": \"\",\n        \"responseUrl\": \"\",\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\"\n      },\n      \"link\": {\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\",\n        \"url\": \"\"\n      },\n      \"youtubeVideo\": {\n        \"alternateLink\": \"\",\n        \"id\": \"\",\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\"\n      }\n    }\n  ],\n  \"scheduledTime\": \"\",\n  \"state\": \"\",\n  \"title\": \"\",\n  \"topicId\": \"\",\n  \"updateTime\": \"\"\n}")
  .asString();
const data = JSON.stringify({
  alternateLink: '',
  assigneeMode: '',
  courseId: '',
  creationTime: '',
  creatorUserId: '',
  description: '',
  id: '',
  individualStudentsOptions: {
    studentIds: []
  },
  materials: [
    {
      driveFile: {
        driveFile: {
          alternateLink: '',
          id: '',
          thumbnailUrl: '',
          title: ''
        },
        shareMode: ''
      },
      form: {
        formUrl: '',
        responseUrl: '',
        thumbnailUrl: '',
        title: ''
      },
      link: {
        thumbnailUrl: '',
        title: '',
        url: ''
      },
      youtubeVideo: {
        alternateLink: '',
        id: '',
        thumbnailUrl: '',
        title: ''
      }
    }
  ],
  scheduledTime: '',
  state: '',
  title: '',
  topicId: '',
  updateTime: ''
});

const xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener('readystatechange', function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open('PATCH', '{{baseUrl}}/v1/courses/:courseId/courseWorkMaterials/:id');
xhr.setRequestHeader('content-type', 'application/json');

xhr.send(data);
import axios from 'axios';

const options = {
  method: 'PATCH',
  url: '{{baseUrl}}/v1/courses/:courseId/courseWorkMaterials/:id',
  headers: {'content-type': 'application/json'},
  data: {
    alternateLink: '',
    assigneeMode: '',
    courseId: '',
    creationTime: '',
    creatorUserId: '',
    description: '',
    id: '',
    individualStudentsOptions: {studentIds: []},
    materials: [
      {
        driveFile: {
          driveFile: {alternateLink: '', id: '', thumbnailUrl: '', title: ''},
          shareMode: ''
        },
        form: {formUrl: '', responseUrl: '', thumbnailUrl: '', title: ''},
        link: {thumbnailUrl: '', title: '', url: ''},
        youtubeVideo: {alternateLink: '', id: '', thumbnailUrl: '', title: ''}
      }
    ],
    scheduledTime: '',
    state: '',
    title: '',
    topicId: '',
    updateTime: ''
  }
};

try {
  const { data } = await axios.request(options);
  console.log(data);
} catch (error) {
  console.error(error);
}
const url = '{{baseUrl}}/v1/courses/:courseId/courseWorkMaterials/:id';
const options = {
  method: 'PATCH',
  headers: {'content-type': 'application/json'},
  body: '{"alternateLink":"","assigneeMode":"","courseId":"","creationTime":"","creatorUserId":"","description":"","id":"","individualStudentsOptions":{"studentIds":[]},"materials":[{"driveFile":{"driveFile":{"alternateLink":"","id":"","thumbnailUrl":"","title":""},"shareMode":""},"form":{"formUrl":"","responseUrl":"","thumbnailUrl":"","title":""},"link":{"thumbnailUrl":"","title":"","url":""},"youtubeVideo":{"alternateLink":"","id":"","thumbnailUrl":"","title":""}}],"scheduledTime":"","state":"","title":"","topicId":"","updateTime":""}'
};

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}}/v1/courses/:courseId/courseWorkMaterials/:id',
  method: 'PATCH',
  headers: {
    'content-type': 'application/json'
  },
  processData: false,
  data: '{\n  "alternateLink": "",\n  "assigneeMode": "",\n  "courseId": "",\n  "creationTime": "",\n  "creatorUserId": "",\n  "description": "",\n  "id": "",\n  "individualStudentsOptions": {\n    "studentIds": []\n  },\n  "materials": [\n    {\n      "driveFile": {\n        "driveFile": {\n          "alternateLink": "",\n          "id": "",\n          "thumbnailUrl": "",\n          "title": ""\n        },\n        "shareMode": ""\n      },\n      "form": {\n        "formUrl": "",\n        "responseUrl": "",\n        "thumbnailUrl": "",\n        "title": ""\n      },\n      "link": {\n        "thumbnailUrl": "",\n        "title": "",\n        "url": ""\n      },\n      "youtubeVideo": {\n        "alternateLink": "",\n        "id": "",\n        "thumbnailUrl": "",\n        "title": ""\n      }\n    }\n  ],\n  "scheduledTime": "",\n  "state": "",\n  "title": "",\n  "topicId": "",\n  "updateTime": ""\n}'
};

$.ajax(settings).done(function (response) {
  console.log(response);
});
val client = OkHttpClient()

val mediaType = MediaType.parse("application/json")
val body = RequestBody.create(mediaType, "{\n  \"alternateLink\": \"\",\n  \"assigneeMode\": \"\",\n  \"courseId\": \"\",\n  \"creationTime\": \"\",\n  \"creatorUserId\": \"\",\n  \"description\": \"\",\n  \"id\": \"\",\n  \"individualStudentsOptions\": {\n    \"studentIds\": []\n  },\n  \"materials\": [\n    {\n      \"driveFile\": {\n        \"driveFile\": {\n          \"alternateLink\": \"\",\n          \"id\": \"\",\n          \"thumbnailUrl\": \"\",\n          \"title\": \"\"\n        },\n        \"shareMode\": \"\"\n      },\n      \"form\": {\n        \"formUrl\": \"\",\n        \"responseUrl\": \"\",\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\"\n      },\n      \"link\": {\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\",\n        \"url\": \"\"\n      },\n      \"youtubeVideo\": {\n        \"alternateLink\": \"\",\n        \"id\": \"\",\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\"\n      }\n    }\n  ],\n  \"scheduledTime\": \"\",\n  \"state\": \"\",\n  \"title\": \"\",\n  \"topicId\": \"\",\n  \"updateTime\": \"\"\n}")
val request = Request.Builder()
  .url("{{baseUrl}}/v1/courses/:courseId/courseWorkMaterials/:id")
  .patch(body)
  .addHeader("content-type", "application/json")
  .build()

val response = client.newCall(request).execute()
const http = require('https');

const options = {
  method: 'PATCH',
  hostname: 'example.com',
  port: null,
  path: '/baseUrl/v1/courses/:courseId/courseWorkMaterials/:id',
  headers: {
    'content-type': 'application/json'
  }
};

const req = http.request(options, function (res) {
  const chunks = [];

  res.on('data', function (chunk) {
    chunks.push(chunk);
  });

  res.on('end', function () {
    const body = Buffer.concat(chunks);
    console.log(body.toString());
  });
});

req.write(JSON.stringify({
  alternateLink: '',
  assigneeMode: '',
  courseId: '',
  creationTime: '',
  creatorUserId: '',
  description: '',
  id: '',
  individualStudentsOptions: {studentIds: []},
  materials: [
    {
      driveFile: {
        driveFile: {alternateLink: '', id: '', thumbnailUrl: '', title: ''},
        shareMode: ''
      },
      form: {formUrl: '', responseUrl: '', thumbnailUrl: '', title: ''},
      link: {thumbnailUrl: '', title: '', url: ''},
      youtubeVideo: {alternateLink: '', id: '', thumbnailUrl: '', title: ''}
    }
  ],
  scheduledTime: '',
  state: '',
  title: '',
  topicId: '',
  updateTime: ''
}));
req.end();
const request = require('request');

const options = {
  method: 'PATCH',
  url: '{{baseUrl}}/v1/courses/:courseId/courseWorkMaterials/:id',
  headers: {'content-type': 'application/json'},
  body: {
    alternateLink: '',
    assigneeMode: '',
    courseId: '',
    creationTime: '',
    creatorUserId: '',
    description: '',
    id: '',
    individualStudentsOptions: {studentIds: []},
    materials: [
      {
        driveFile: {
          driveFile: {alternateLink: '', id: '', thumbnailUrl: '', title: ''},
          shareMode: ''
        },
        form: {formUrl: '', responseUrl: '', thumbnailUrl: '', title: ''},
        link: {thumbnailUrl: '', title: '', url: ''},
        youtubeVideo: {alternateLink: '', id: '', thumbnailUrl: '', title: ''}
      }
    ],
    scheduledTime: '',
    state: '',
    title: '',
    topicId: '',
    updateTime: ''
  },
  json: true
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
const unirest = require('unirest');

const req = unirest('PATCH', '{{baseUrl}}/v1/courses/:courseId/courseWorkMaterials/:id');

req.headers({
  'content-type': 'application/json'
});

req.type('json');
req.send({
  alternateLink: '',
  assigneeMode: '',
  courseId: '',
  creationTime: '',
  creatorUserId: '',
  description: '',
  id: '',
  individualStudentsOptions: {
    studentIds: []
  },
  materials: [
    {
      driveFile: {
        driveFile: {
          alternateLink: '',
          id: '',
          thumbnailUrl: '',
          title: ''
        },
        shareMode: ''
      },
      form: {
        formUrl: '',
        responseUrl: '',
        thumbnailUrl: '',
        title: ''
      },
      link: {
        thumbnailUrl: '',
        title: '',
        url: ''
      },
      youtubeVideo: {
        alternateLink: '',
        id: '',
        thumbnailUrl: '',
        title: ''
      }
    }
  ],
  scheduledTime: '',
  state: '',
  title: '',
  topicId: '',
  updateTime: ''
});

req.end(function (res) {
  if (res.error) throw new Error(res.error);

  console.log(res.body);
});
const axios = require('axios').default;

const options = {
  method: 'PATCH',
  url: '{{baseUrl}}/v1/courses/:courseId/courseWorkMaterials/:id',
  headers: {'content-type': 'application/json'},
  data: {
    alternateLink: '',
    assigneeMode: '',
    courseId: '',
    creationTime: '',
    creatorUserId: '',
    description: '',
    id: '',
    individualStudentsOptions: {studentIds: []},
    materials: [
      {
        driveFile: {
          driveFile: {alternateLink: '', id: '', thumbnailUrl: '', title: ''},
          shareMode: ''
        },
        form: {formUrl: '', responseUrl: '', thumbnailUrl: '', title: ''},
        link: {thumbnailUrl: '', title: '', url: ''},
        youtubeVideo: {alternateLink: '', id: '', thumbnailUrl: '', title: ''}
      }
    ],
    scheduledTime: '',
    state: '',
    title: '',
    topicId: '',
    updateTime: ''
  }
};

try {
  const { data } = await axios.request(options);
  console.log(data);
} catch (error) {
  console.error(error);
}
const fetch = require('node-fetch');

const url = '{{baseUrl}}/v1/courses/:courseId/courseWorkMaterials/:id';
const options = {
  method: 'PATCH',
  headers: {'content-type': 'application/json'},
  body: '{"alternateLink":"","assigneeMode":"","courseId":"","creationTime":"","creatorUserId":"","description":"","id":"","individualStudentsOptions":{"studentIds":[]},"materials":[{"driveFile":{"driveFile":{"alternateLink":"","id":"","thumbnailUrl":"","title":""},"shareMode":""},"form":{"formUrl":"","responseUrl":"","thumbnailUrl":"","title":""},"link":{"thumbnailUrl":"","title":"","url":""},"youtubeVideo":{"alternateLink":"","id":"","thumbnailUrl":"","title":""}}],"scheduledTime":"","state":"","title":"","topicId":"","updateTime":""}'
};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
#import 

NSDictionary *headers = @{ @"content-type": @"application/json" };
NSDictionary *parameters = @{ @"alternateLink": @"",
                              @"assigneeMode": @"",
                              @"courseId": @"",
                              @"creationTime": @"",
                              @"creatorUserId": @"",
                              @"description": @"",
                              @"id": @"",
                              @"individualStudentsOptions": @{ @"studentIds": @[  ] },
                              @"materials": @[ @{ @"driveFile": @{ @"driveFile": @{ @"alternateLink": @"", @"id": @"", @"thumbnailUrl": @"", @"title": @"" }, @"shareMode": @"" }, @"form": @{ @"formUrl": @"", @"responseUrl": @"", @"thumbnailUrl": @"", @"title": @"" }, @"link": @{ @"thumbnailUrl": @"", @"title": @"", @"url": @"" }, @"youtubeVideo": @{ @"alternateLink": @"", @"id": @"", @"thumbnailUrl": @"", @"title": @"" } } ],
                              @"scheduledTime": @"",
                              @"state": @"",
                              @"title": @"",
                              @"topicId": @"",
                              @"updateTime": @"" };

NSData *postData = [NSJSONSerialization dataWithJSONObject:parameters options:0 error:nil];

NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"{{baseUrl}}/v1/courses/:courseId/courseWorkMaterials/:id"]
                                                       cachePolicy:NSURLRequestUseProtocolCachePolicy
                                                   timeoutInterval:10.0];
[request setHTTPMethod:@"PATCH"];
[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}}/v1/courses/:courseId/courseWorkMaterials/:id" in
let headers = Header.add (Header.init ()) "content-type" "application/json" in
let body = Cohttp_lwt_body.of_string "{\n  \"alternateLink\": \"\",\n  \"assigneeMode\": \"\",\n  \"courseId\": \"\",\n  \"creationTime\": \"\",\n  \"creatorUserId\": \"\",\n  \"description\": \"\",\n  \"id\": \"\",\n  \"individualStudentsOptions\": {\n    \"studentIds\": []\n  },\n  \"materials\": [\n    {\n      \"driveFile\": {\n        \"driveFile\": {\n          \"alternateLink\": \"\",\n          \"id\": \"\",\n          \"thumbnailUrl\": \"\",\n          \"title\": \"\"\n        },\n        \"shareMode\": \"\"\n      },\n      \"form\": {\n        \"formUrl\": \"\",\n        \"responseUrl\": \"\",\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\"\n      },\n      \"link\": {\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\",\n        \"url\": \"\"\n      },\n      \"youtubeVideo\": {\n        \"alternateLink\": \"\",\n        \"id\": \"\",\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\"\n      }\n    }\n  ],\n  \"scheduledTime\": \"\",\n  \"state\": \"\",\n  \"title\": \"\",\n  \"topicId\": \"\",\n  \"updateTime\": \"\"\n}" in

Client.call ~headers ~body `PATCH uri
>>= fun (res, body_stream) ->
  (* Do stuff with the result *)
 "{{baseUrl}}/v1/courses/:courseId/courseWorkMaterials/:id",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "PATCH",
  CURLOPT_POSTFIELDS => json_encode([
    'alternateLink' => '',
    'assigneeMode' => '',
    'courseId' => '',
    'creationTime' => '',
    'creatorUserId' => '',
    'description' => '',
    'id' => '',
    'individualStudentsOptions' => [
        'studentIds' => [
                
        ]
    ],
    'materials' => [
        [
                'driveFile' => [
                                'driveFile' => [
                                                                'alternateLink' => '',
                                                                'id' => '',
                                                                'thumbnailUrl' => '',
                                                                'title' => ''
                                ],
                                'shareMode' => ''
                ],
                'form' => [
                                'formUrl' => '',
                                'responseUrl' => '',
                                'thumbnailUrl' => '',
                                'title' => ''
                ],
                'link' => [
                                'thumbnailUrl' => '',
                                'title' => '',
                                'url' => ''
                ],
                'youtubeVideo' => [
                                'alternateLink' => '',
                                'id' => '',
                                'thumbnailUrl' => '',
                                'title' => ''
                ]
        ]
    ],
    'scheduledTime' => '',
    'state' => '',
    'title' => '',
    'topicId' => '',
    'updateTime' => ''
  ]),
  CURLOPT_HTTPHEADER => [
    "content-type: application/json"
  ],
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
request('PATCH', '{{baseUrl}}/v1/courses/:courseId/courseWorkMaterials/:id', [
  'body' => '{
  "alternateLink": "",
  "assigneeMode": "",
  "courseId": "",
  "creationTime": "",
  "creatorUserId": "",
  "description": "",
  "id": "",
  "individualStudentsOptions": {
    "studentIds": []
  },
  "materials": [
    {
      "driveFile": {
        "driveFile": {
          "alternateLink": "",
          "id": "",
          "thumbnailUrl": "",
          "title": ""
        },
        "shareMode": ""
      },
      "form": {
        "formUrl": "",
        "responseUrl": "",
        "thumbnailUrl": "",
        "title": ""
      },
      "link": {
        "thumbnailUrl": "",
        "title": "",
        "url": ""
      },
      "youtubeVideo": {
        "alternateLink": "",
        "id": "",
        "thumbnailUrl": "",
        "title": ""
      }
    }
  ],
  "scheduledTime": "",
  "state": "",
  "title": "",
  "topicId": "",
  "updateTime": ""
}',
  'headers' => [
    'content-type' => 'application/json',
  ],
]);

echo $response->getBody();
setUrl('{{baseUrl}}/v1/courses/:courseId/courseWorkMaterials/:id');
$request->setMethod(HttpRequest::HTTP_METH_PATCH);

$request->setHeaders([
  'content-type' => 'application/json'
]);

$request->setContentType('application/json');
$request->setBody(json_encode([
  'alternateLink' => '',
  'assigneeMode' => '',
  'courseId' => '',
  'creationTime' => '',
  'creatorUserId' => '',
  'description' => '',
  'id' => '',
  'individualStudentsOptions' => [
    'studentIds' => [
        
    ]
  ],
  'materials' => [
    [
        'driveFile' => [
                'driveFile' => [
                                'alternateLink' => '',
                                'id' => '',
                                'thumbnailUrl' => '',
                                'title' => ''
                ],
                'shareMode' => ''
        ],
        'form' => [
                'formUrl' => '',
                'responseUrl' => '',
                'thumbnailUrl' => '',
                'title' => ''
        ],
        'link' => [
                'thumbnailUrl' => '',
                'title' => '',
                'url' => ''
        ],
        'youtubeVideo' => [
                'alternateLink' => '',
                'id' => '',
                'thumbnailUrl' => '',
                'title' => ''
        ]
    ]
  ],
  'scheduledTime' => '',
  'state' => '',
  'title' => '',
  'topicId' => '',
  'updateTime' => ''
]));

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
append(json_encode([
  'alternateLink' => '',
  'assigneeMode' => '',
  'courseId' => '',
  'creationTime' => '',
  'creatorUserId' => '',
  'description' => '',
  'id' => '',
  'individualStudentsOptions' => [
    'studentIds' => [
        
    ]
  ],
  'materials' => [
    [
        'driveFile' => [
                'driveFile' => [
                                'alternateLink' => '',
                                'id' => '',
                                'thumbnailUrl' => '',
                                'title' => ''
                ],
                'shareMode' => ''
        ],
        'form' => [
                'formUrl' => '',
                'responseUrl' => '',
                'thumbnailUrl' => '',
                'title' => ''
        ],
        'link' => [
                'thumbnailUrl' => '',
                'title' => '',
                'url' => ''
        ],
        'youtubeVideo' => [
                'alternateLink' => '',
                'id' => '',
                'thumbnailUrl' => '',
                'title' => ''
        ]
    ]
  ],
  'scheduledTime' => '',
  'state' => '',
  'title' => '',
  'topicId' => '',
  'updateTime' => ''
]));
$request->setRequestUrl('{{baseUrl}}/v1/courses/:courseId/courseWorkMaterials/:id');
$request->setRequestMethod('PATCH');
$request->setBody($body);

$request->setHeaders([
  'content-type' => 'application/json'
]);

$client->enqueue($request)->send();
$response = $client->getResponse();

echo $response->getBody();
$headers=@{}
$headers.Add("content-type", "application/json")
$response = Invoke-WebRequest -Uri '{{baseUrl}}/v1/courses/:courseId/courseWorkMaterials/:id' -Method PATCH -Headers $headers -ContentType 'application/json' -Body '{
  "alternateLink": "",
  "assigneeMode": "",
  "courseId": "",
  "creationTime": "",
  "creatorUserId": "",
  "description": "",
  "id": "",
  "individualStudentsOptions": {
    "studentIds": []
  },
  "materials": [
    {
      "driveFile": {
        "driveFile": {
          "alternateLink": "",
          "id": "",
          "thumbnailUrl": "",
          "title": ""
        },
        "shareMode": ""
      },
      "form": {
        "formUrl": "",
        "responseUrl": "",
        "thumbnailUrl": "",
        "title": ""
      },
      "link": {
        "thumbnailUrl": "",
        "title": "",
        "url": ""
      },
      "youtubeVideo": {
        "alternateLink": "",
        "id": "",
        "thumbnailUrl": "",
        "title": ""
      }
    }
  ],
  "scheduledTime": "",
  "state": "",
  "title": "",
  "topicId": "",
  "updateTime": ""
}'
$headers=@{}
$headers.Add("content-type", "application/json")
$response = Invoke-RestMethod -Uri '{{baseUrl}}/v1/courses/:courseId/courseWorkMaterials/:id' -Method PATCH -Headers $headers -ContentType 'application/json' -Body '{
  "alternateLink": "",
  "assigneeMode": "",
  "courseId": "",
  "creationTime": "",
  "creatorUserId": "",
  "description": "",
  "id": "",
  "individualStudentsOptions": {
    "studentIds": []
  },
  "materials": [
    {
      "driveFile": {
        "driveFile": {
          "alternateLink": "",
          "id": "",
          "thumbnailUrl": "",
          "title": ""
        },
        "shareMode": ""
      },
      "form": {
        "formUrl": "",
        "responseUrl": "",
        "thumbnailUrl": "",
        "title": ""
      },
      "link": {
        "thumbnailUrl": "",
        "title": "",
        "url": ""
      },
      "youtubeVideo": {
        "alternateLink": "",
        "id": "",
        "thumbnailUrl": "",
        "title": ""
      }
    }
  ],
  "scheduledTime": "",
  "state": "",
  "title": "",
  "topicId": "",
  "updateTime": ""
}'
import http.client

conn = http.client.HTTPSConnection("example.com")

payload = "{\n  \"alternateLink\": \"\",\n  \"assigneeMode\": \"\",\n  \"courseId\": \"\",\n  \"creationTime\": \"\",\n  \"creatorUserId\": \"\",\n  \"description\": \"\",\n  \"id\": \"\",\n  \"individualStudentsOptions\": {\n    \"studentIds\": []\n  },\n  \"materials\": [\n    {\n      \"driveFile\": {\n        \"driveFile\": {\n          \"alternateLink\": \"\",\n          \"id\": \"\",\n          \"thumbnailUrl\": \"\",\n          \"title\": \"\"\n        },\n        \"shareMode\": \"\"\n      },\n      \"form\": {\n        \"formUrl\": \"\",\n        \"responseUrl\": \"\",\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\"\n      },\n      \"link\": {\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\",\n        \"url\": \"\"\n      },\n      \"youtubeVideo\": {\n        \"alternateLink\": \"\",\n        \"id\": \"\",\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\"\n      }\n    }\n  ],\n  \"scheduledTime\": \"\",\n  \"state\": \"\",\n  \"title\": \"\",\n  \"topicId\": \"\",\n  \"updateTime\": \"\"\n}"

headers = { 'content-type': "application/json" }

conn.request("PATCH", "/baseUrl/v1/courses/:courseId/courseWorkMaterials/:id", payload, headers)

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))
import requests

url = "{{baseUrl}}/v1/courses/:courseId/courseWorkMaterials/:id"

payload = {
    "alternateLink": "",
    "assigneeMode": "",
    "courseId": "",
    "creationTime": "",
    "creatorUserId": "",
    "description": "",
    "id": "",
    "individualStudentsOptions": { "studentIds": [] },
    "materials": [
        {
            "driveFile": {
                "driveFile": {
                    "alternateLink": "",
                    "id": "",
                    "thumbnailUrl": "",
                    "title": ""
                },
                "shareMode": ""
            },
            "form": {
                "formUrl": "",
                "responseUrl": "",
                "thumbnailUrl": "",
                "title": ""
            },
            "link": {
                "thumbnailUrl": "",
                "title": "",
                "url": ""
            },
            "youtubeVideo": {
                "alternateLink": "",
                "id": "",
                "thumbnailUrl": "",
                "title": ""
            }
        }
    ],
    "scheduledTime": "",
    "state": "",
    "title": "",
    "topicId": "",
    "updateTime": ""
}
headers = {"content-type": "application/json"}

response = requests.patch(url, json=payload, headers=headers)

print(response.json())
library(httr)

url <- "{{baseUrl}}/v1/courses/:courseId/courseWorkMaterials/:id"

payload <- "{\n  \"alternateLink\": \"\",\n  \"assigneeMode\": \"\",\n  \"courseId\": \"\",\n  \"creationTime\": \"\",\n  \"creatorUserId\": \"\",\n  \"description\": \"\",\n  \"id\": \"\",\n  \"individualStudentsOptions\": {\n    \"studentIds\": []\n  },\n  \"materials\": [\n    {\n      \"driveFile\": {\n        \"driveFile\": {\n          \"alternateLink\": \"\",\n          \"id\": \"\",\n          \"thumbnailUrl\": \"\",\n          \"title\": \"\"\n        },\n        \"shareMode\": \"\"\n      },\n      \"form\": {\n        \"formUrl\": \"\",\n        \"responseUrl\": \"\",\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\"\n      },\n      \"link\": {\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\",\n        \"url\": \"\"\n      },\n      \"youtubeVideo\": {\n        \"alternateLink\": \"\",\n        \"id\": \"\",\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\"\n      }\n    }\n  ],\n  \"scheduledTime\": \"\",\n  \"state\": \"\",\n  \"title\": \"\",\n  \"topicId\": \"\",\n  \"updateTime\": \"\"\n}"

encode <- "json"

response <- VERB("PATCH", url, body = payload, content_type("application/json"), encode = encode)

content(response, "text")
require 'uri'
require 'net/http'

url = URI("{{baseUrl}}/v1/courses/:courseId/courseWorkMaterials/:id")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Patch.new(url)
request["content-type"] = 'application/json'
request.body = "{\n  \"alternateLink\": \"\",\n  \"assigneeMode\": \"\",\n  \"courseId\": \"\",\n  \"creationTime\": \"\",\n  \"creatorUserId\": \"\",\n  \"description\": \"\",\n  \"id\": \"\",\n  \"individualStudentsOptions\": {\n    \"studentIds\": []\n  },\n  \"materials\": [\n    {\n      \"driveFile\": {\n        \"driveFile\": {\n          \"alternateLink\": \"\",\n          \"id\": \"\",\n          \"thumbnailUrl\": \"\",\n          \"title\": \"\"\n        },\n        \"shareMode\": \"\"\n      },\n      \"form\": {\n        \"formUrl\": \"\",\n        \"responseUrl\": \"\",\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\"\n      },\n      \"link\": {\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\",\n        \"url\": \"\"\n      },\n      \"youtubeVideo\": {\n        \"alternateLink\": \"\",\n        \"id\": \"\",\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\"\n      }\n    }\n  ],\n  \"scheduledTime\": \"\",\n  \"state\": \"\",\n  \"title\": \"\",\n  \"topicId\": \"\",\n  \"updateTime\": \"\"\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.patch('/baseUrl/v1/courses/:courseId/courseWorkMaterials/:id') do |req|
  req.body = "{\n  \"alternateLink\": \"\",\n  \"assigneeMode\": \"\",\n  \"courseId\": \"\",\n  \"creationTime\": \"\",\n  \"creatorUserId\": \"\",\n  \"description\": \"\",\n  \"id\": \"\",\n  \"individualStudentsOptions\": {\n    \"studentIds\": []\n  },\n  \"materials\": [\n    {\n      \"driveFile\": {\n        \"driveFile\": {\n          \"alternateLink\": \"\",\n          \"id\": \"\",\n          \"thumbnailUrl\": \"\",\n          \"title\": \"\"\n        },\n        \"shareMode\": \"\"\n      },\n      \"form\": {\n        \"formUrl\": \"\",\n        \"responseUrl\": \"\",\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\"\n      },\n      \"link\": {\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\",\n        \"url\": \"\"\n      },\n      \"youtubeVideo\": {\n        \"alternateLink\": \"\",\n        \"id\": \"\",\n        \"thumbnailUrl\": \"\",\n        \"title\": \"\"\n      }\n    }\n  ],\n  \"scheduledTime\": \"\",\n  \"state\": \"\",\n  \"title\": \"\",\n  \"topicId\": \"\",\n  \"updateTime\": \"\"\n}"
end

puts response.status
puts response.body
use std::str::FromStr;
use serde_json::json;
use reqwest;

#[tokio::main]
pub async fn main() {
    let url = "{{baseUrl}}/v1/courses/:courseId/courseWorkMaterials/:id";

    let payload = json!({
        "alternateLink": "",
        "assigneeMode": "",
        "courseId": "",
        "creationTime": "",
        "creatorUserId": "",
        "description": "",
        "id": "",
        "individualStudentsOptions": json!({"studentIds": ()}),
        "materials": (
            json!({
                "driveFile": json!({
                    "driveFile": json!({
                        "alternateLink": "",
                        "id": "",
                        "thumbnailUrl": "",
                        "title": ""
                    }),
                    "shareMode": ""
                }),
                "form": json!({
                    "formUrl": "",
                    "responseUrl": "",
                    "thumbnailUrl": "",
                    "title": ""
                }),
                "link": json!({
                    "thumbnailUrl": "",
                    "title": "",
                    "url": ""
                }),
                "youtubeVideo": json!({
                    "alternateLink": "",
                    "id": "",
                    "thumbnailUrl": "",
                    "title": ""
                })
            })
        ),
        "scheduledTime": "",
        "state": "",
        "title": "",
        "topicId": "",
        "updateTime": ""
    });

    let mut headers = reqwest::header::HeaderMap::new();
    headers.insert("content-type", "application/json".parse().unwrap());

    let client = reqwest::Client::new();
    let response = client.request(reqwest::Method::from_str("PATCH").unwrap(), url)
        .headers(headers)
        .json(&payload)
        .send()
        .await;

    let results = response.unwrap()
        .json::()
        .await
        .unwrap();

    dbg!(results);
}
curl --request PATCH \
  --url {{baseUrl}}/v1/courses/:courseId/courseWorkMaterials/:id \
  --header 'content-type: application/json' \
  --data '{
  "alternateLink": "",
  "assigneeMode": "",
  "courseId": "",
  "creationTime": "",
  "creatorUserId": "",
  "description": "",
  "id": "",
  "individualStudentsOptions": {
    "studentIds": []
  },
  "materials": [
    {
      "driveFile": {
        "driveFile": {
          "alternateLink": "",
          "id": "",
          "thumbnailUrl": "",
          "title": ""
        },
        "shareMode": ""
      },
      "form": {
        "formUrl": "",
        "responseUrl": "",
        "thumbnailUrl": "",
        "title": ""
      },
      "link": {
        "thumbnailUrl": "",
        "title": "",
        "url": ""
      },
      "youtubeVideo": {
        "alternateLink": "",
        "id": "",
        "thumbnailUrl": "",
        "title": ""
      }
    }
  ],
  "scheduledTime": "",
  "state": "",
  "title": "",
  "topicId": "",
  "updateTime": ""
}'
echo '{
  "alternateLink": "",
  "assigneeMode": "",
  "courseId": "",
  "creationTime": "",
  "creatorUserId": "",
  "description": "",
  "id": "",
  "individualStudentsOptions": {
    "studentIds": []
  },
  "materials": [
    {
      "driveFile": {
        "driveFile": {
          "alternateLink": "",
          "id": "",
          "thumbnailUrl": "",
          "title": ""
        },
        "shareMode": ""
      },
      "form": {
        "formUrl": "",
        "responseUrl": "",
        "thumbnailUrl": "",
        "title": ""
      },
      "link": {
        "thumbnailUrl": "",
        "title": "",
        "url": ""
      },
      "youtubeVideo": {
        "alternateLink": "",
        "id": "",
        "thumbnailUrl": "",
        "title": ""
      }
    }
  ],
  "scheduledTime": "",
  "state": "",
  "title": "",
  "topicId": "",
  "updateTime": ""
}' |  \
  http PATCH {{baseUrl}}/v1/courses/:courseId/courseWorkMaterials/:id \
  content-type:application/json
wget --quiet \
  --method PATCH \
  --header 'content-type: application/json' \
  --body-data '{\n  "alternateLink": "",\n  "assigneeMode": "",\n  "courseId": "",\n  "creationTime": "",\n  "creatorUserId": "",\n  "description": "",\n  "id": "",\n  "individualStudentsOptions": {\n    "studentIds": []\n  },\n  "materials": [\n    {\n      "driveFile": {\n        "driveFile": {\n          "alternateLink": "",\n          "id": "",\n          "thumbnailUrl": "",\n          "title": ""\n        },\n        "shareMode": ""\n      },\n      "form": {\n        "formUrl": "",\n        "responseUrl": "",\n        "thumbnailUrl": "",\n        "title": ""\n      },\n      "link": {\n        "thumbnailUrl": "",\n        "title": "",\n        "url": ""\n      },\n      "youtubeVideo": {\n        "alternateLink": "",\n        "id": "",\n        "thumbnailUrl": "",\n        "title": ""\n      }\n    }\n  ],\n  "scheduledTime": "",\n  "state": "",\n  "title": "",\n  "topicId": "",\n  "updateTime": ""\n}' \
  --output-document \
  - {{baseUrl}}/v1/courses/:courseId/courseWorkMaterials/:id
import Foundation

let headers = ["content-type": "application/json"]
let parameters = [
  "alternateLink": "",
  "assigneeMode": "",
  "courseId": "",
  "creationTime": "",
  "creatorUserId": "",
  "description": "",
  "id": "",
  "individualStudentsOptions": ["studentIds": []],
  "materials": [
    [
      "driveFile": [
        "driveFile": [
          "alternateLink": "",
          "id": "",
          "thumbnailUrl": "",
          "title": ""
        ],
        "shareMode": ""
      ],
      "form": [
        "formUrl": "",
        "responseUrl": "",
        "thumbnailUrl": "",
        "title": ""
      ],
      "link": [
        "thumbnailUrl": "",
        "title": "",
        "url": ""
      ],
      "youtubeVideo": [
        "alternateLink": "",
        "id": "",
        "thumbnailUrl": "",
        "title": ""
      ]
    ]
  ],
  "scheduledTime": "",
  "state": "",
  "title": "",
  "topicId": "",
  "updateTime": ""
] as [String : Any]

let postData = JSONSerialization.data(withJSONObject: parameters, options: [])

let request = NSMutableURLRequest(url: NSURL(string: "{{baseUrl}}/v1/courses/:courseId/courseWorkMaterials/:id")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "PATCH"
request.allHTTPHeaderFields = headers
request.httpBody = postData as Data

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error as Any)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
POST classroom.courses.create
{{baseUrl}}/v1/courses
BODY json

{
  "alternateLink": "",
  "calendarId": "",
  "courseGroupEmail": "",
  "courseMaterialSets": [
    {
      "materials": [
        {
          "driveFile": {
            "alternateLink": "",
            "id": "",
            "thumbnailUrl": "",
            "title": ""
          },
          "form": {
            "formUrl": "",
            "responseUrl": "",
            "thumbnailUrl": "",
            "title": ""
          },
          "link": {
            "thumbnailUrl": "",
            "title": "",
            "url": ""
          },
          "youTubeVideo": {
            "alternateLink": "",
            "id": "",
            "thumbnailUrl": "",
            "title": ""
          }
        }
      ],
      "title": ""
    }
  ],
  "courseState": "",
  "creationTime": "",
  "description": "",
  "descriptionHeading": "",
  "enrollmentCode": "",
  "gradebookSettings": {
    "calculationType": "",
    "displaySetting": "",
    "gradeCategories": [
      {
        "defaultGradeDenominator": 0,
        "id": "",
        "name": "",
        "weight": 0
      }
    ]
  },
  "guardiansEnabled": false,
  "id": "",
  "name": "",
  "ownerId": "",
  "room": "",
  "section": "",
  "teacherFolder": {
    "alternateLink": "",
    "id": "",
    "title": ""
  },
  "teacherGroupEmail": "",
  "updateTime": ""
}
Examples
REQUEST

CURL *hnd = curl_easy_init();

curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "POST");
curl_easy_setopt(hnd, CURLOPT_URL, "{{baseUrl}}/v1/courses");

struct curl_slist *headers = NULL;
headers = curl_slist_append(headers, "content-type: application/json");
curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers);

curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\n  \"alternateLink\": \"\",\n  \"calendarId\": \"\",\n  \"courseGroupEmail\": \"\",\n  \"courseMaterialSets\": [\n    {\n      \"materials\": [\n        {\n          \"driveFile\": {\n            \"alternateLink\": \"\",\n            \"id\": \"\",\n            \"thumbnailUrl\": \"\",\n            \"title\": \"\"\n          },\n          \"form\": {\n            \"formUrl\": \"\",\n            \"responseUrl\": \"\",\n            \"thumbnailUrl\": \"\",\n            \"title\": \"\"\n          },\n          \"link\": {\n            \"thumbnailUrl\": \"\",\n            \"title\": \"\",\n            \"url\": \"\"\n          },\n          \"youTubeVideo\": {\n            \"alternateLink\": \"\",\n            \"id\": \"\",\n            \"thumbnailUrl\": \"\",\n            \"title\": \"\"\n          }\n        }\n      ],\n      \"title\": \"\"\n    }\n  ],\n  \"courseState\": \"\",\n  \"creationTime\": \"\",\n  \"description\": \"\",\n  \"descriptionHeading\": \"\",\n  \"enrollmentCode\": \"\",\n  \"gradebookSettings\": {\n    \"calculationType\": \"\",\n    \"displaySetting\": \"\",\n    \"gradeCategories\": [\n      {\n        \"defaultGradeDenominator\": 0,\n        \"id\": \"\",\n        \"name\": \"\",\n        \"weight\": 0\n      }\n    ]\n  },\n  \"guardiansEnabled\": false,\n  \"id\": \"\",\n  \"name\": \"\",\n  \"ownerId\": \"\",\n  \"room\": \"\",\n  \"section\": \"\",\n  \"teacherFolder\": {\n    \"alternateLink\": \"\",\n    \"id\": \"\",\n    \"title\": \"\"\n  },\n  \"teacherGroupEmail\": \"\",\n  \"updateTime\": \"\"\n}");

CURLcode ret = curl_easy_perform(hnd);
(require '[clj-http.client :as client])

(client/post "{{baseUrl}}/v1/courses" {:content-type :json
                                                       :form-params {:alternateLink ""
                                                                     :calendarId ""
                                                                     :courseGroupEmail ""
                                                                     :courseMaterialSets [{:materials [{:driveFile {:alternateLink ""
                                                                                                                    :id ""
                                                                                                                    :thumbnailUrl ""
                                                                                                                    :title ""}
                                                                                                        :form {:formUrl ""
                                                                                                               :responseUrl ""
                                                                                                               :thumbnailUrl ""
                                                                                                               :title ""}
                                                                                                        :link {:thumbnailUrl ""
                                                                                                               :title ""
                                                                                                               :url ""}
                                                                                                        :youTubeVideo {:alternateLink ""
                                                                                                                       :id ""
                                                                                                                       :thumbnailUrl ""
                                                                                                                       :title ""}}]
                                                                                           :title ""}]
                                                                     :courseState ""
                                                                     :creationTime ""
                                                                     :description ""
                                                                     :descriptionHeading ""
                                                                     :enrollmentCode ""
                                                                     :gradebookSettings {:calculationType ""
                                                                                         :displaySetting ""
                                                                                         :gradeCategories [{:defaultGradeDenominator 0
                                                                                                            :id ""
                                                                                                            :name ""
                                                                                                            :weight 0}]}
                                                                     :guardiansEnabled false
                                                                     :id ""
                                                                     :name ""
                                                                     :ownerId ""
                                                                     :room ""
                                                                     :section ""
                                                                     :teacherFolder {:alternateLink ""
                                                                                     :id ""
                                                                                     :title ""}
                                                                     :teacherGroupEmail ""
                                                                     :updateTime ""}})
require "http/client"

url = "{{baseUrl}}/v1/courses"
headers = HTTP::Headers{
  "content-type" => "application/json"
}
reqBody = "{\n  \"alternateLink\": \"\",\n  \"calendarId\": \"\",\n  \"courseGroupEmail\": \"\",\n  \"courseMaterialSets\": [\n    {\n      \"materials\": [\n        {\n          \"driveFile\": {\n            \"alternateLink\": \"\",\n            \"id\": \"\",\n            \"thumbnailUrl\": \"\",\n            \"title\": \"\"\n          },\n          \"form\": {\n            \"formUrl\": \"\",\n            \"responseUrl\": \"\",\n            \"thumbnailUrl\": \"\",\n            \"title\": \"\"\n          },\n          \"link\": {\n            \"thumbnailUrl\": \"\",\n            \"title\": \"\",\n            \"url\": \"\"\n          },\n          \"youTubeVideo\": {\n            \"alternateLink\": \"\",\n            \"id\": \"\",\n            \"thumbnailUrl\": \"\",\n            \"title\": \"\"\n          }\n        }\n      ],\n      \"title\": \"\"\n    }\n  ],\n  \"courseState\": \"\",\n  \"creationTime\": \"\",\n  \"description\": \"\",\n  \"descriptionHeading\": \"\",\n  \"enrollmentCode\": \"\",\n  \"gradebookSettings\": {\n    \"calculationType\": \"\",\n    \"displaySetting\": \"\",\n    \"gradeCategories\": [\n      {\n        \"defaultGradeDenominator\": 0,\n        \"id\": \"\",\n        \"name\": \"\",\n        \"weight\": 0\n      }\n    ]\n  },\n  \"guardiansEnabled\": false,\n  \"id\": \"\",\n  \"name\": \"\",\n  \"ownerId\": \"\",\n  \"room\": \"\",\n  \"section\": \"\",\n  \"teacherFolder\": {\n    \"alternateLink\": \"\",\n    \"id\": \"\",\n    \"title\": \"\"\n  },\n  \"teacherGroupEmail\": \"\",\n  \"updateTime\": \"\"\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}}/v1/courses"),
    Content = new StringContent("{\n  \"alternateLink\": \"\",\n  \"calendarId\": \"\",\n  \"courseGroupEmail\": \"\",\n  \"courseMaterialSets\": [\n    {\n      \"materials\": [\n        {\n          \"driveFile\": {\n            \"alternateLink\": \"\",\n            \"id\": \"\",\n            \"thumbnailUrl\": \"\",\n            \"title\": \"\"\n          },\n          \"form\": {\n            \"formUrl\": \"\",\n            \"responseUrl\": \"\",\n            \"thumbnailUrl\": \"\",\n            \"title\": \"\"\n          },\n          \"link\": {\n            \"thumbnailUrl\": \"\",\n            \"title\": \"\",\n            \"url\": \"\"\n          },\n          \"youTubeVideo\": {\n            \"alternateLink\": \"\",\n            \"id\": \"\",\n            \"thumbnailUrl\": \"\",\n            \"title\": \"\"\n          }\n        }\n      ],\n      \"title\": \"\"\n    }\n  ],\n  \"courseState\": \"\",\n  \"creationTime\": \"\",\n  \"description\": \"\",\n  \"descriptionHeading\": \"\",\n  \"enrollmentCode\": \"\",\n  \"gradebookSettings\": {\n    \"calculationType\": \"\",\n    \"displaySetting\": \"\",\n    \"gradeCategories\": [\n      {\n        \"defaultGradeDenominator\": 0,\n        \"id\": \"\",\n        \"name\": \"\",\n        \"weight\": 0\n      }\n    ]\n  },\n  \"guardiansEnabled\": false,\n  \"id\": \"\",\n  \"name\": \"\",\n  \"ownerId\": \"\",\n  \"room\": \"\",\n  \"section\": \"\",\n  \"teacherFolder\": {\n    \"alternateLink\": \"\",\n    \"id\": \"\",\n    \"title\": \"\"\n  },\n  \"teacherGroupEmail\": \"\",\n  \"updateTime\": \"\"\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}}/v1/courses");
var request = new RestRequest("", Method.Post);
request.AddHeader("content-type", "application/json");
request.AddParameter("application/json", "{\n  \"alternateLink\": \"\",\n  \"calendarId\": \"\",\n  \"courseGroupEmail\": \"\",\n  \"courseMaterialSets\": [\n    {\n      \"materials\": [\n        {\n          \"driveFile\": {\n            \"alternateLink\": \"\",\n            \"id\": \"\",\n            \"thumbnailUrl\": \"\",\n            \"title\": \"\"\n          },\n          \"form\": {\n            \"formUrl\": \"\",\n            \"responseUrl\": \"\",\n            \"thumbnailUrl\": \"\",\n            \"title\": \"\"\n          },\n          \"link\": {\n            \"thumbnailUrl\": \"\",\n            \"title\": \"\",\n            \"url\": \"\"\n          },\n          \"youTubeVideo\": {\n            \"alternateLink\": \"\",\n            \"id\": \"\",\n            \"thumbnailUrl\": \"\",\n            \"title\": \"\"\n          }\n        }\n      ],\n      \"title\": \"\"\n    }\n  ],\n  \"courseState\": \"\",\n  \"creationTime\": \"\",\n  \"description\": \"\",\n  \"descriptionHeading\": \"\",\n  \"enrollmentCode\": \"\",\n  \"gradebookSettings\": {\n    \"calculationType\": \"\",\n    \"displaySetting\": \"\",\n    \"gradeCategories\": [\n      {\n        \"defaultGradeDenominator\": 0,\n        \"id\": \"\",\n        \"name\": \"\",\n        \"weight\": 0\n      }\n    ]\n  },\n  \"guardiansEnabled\": false,\n  \"id\": \"\",\n  \"name\": \"\",\n  \"ownerId\": \"\",\n  \"room\": \"\",\n  \"section\": \"\",\n  \"teacherFolder\": {\n    \"alternateLink\": \"\",\n    \"id\": \"\",\n    \"title\": \"\"\n  },\n  \"teacherGroupEmail\": \"\",\n  \"updateTime\": \"\"\n}", ParameterType.RequestBody);
var response = client.Execute(request);
package main

import (
	"fmt"
	"strings"
	"net/http"
	"io"
)

func main() {

	url := "{{baseUrl}}/v1/courses"

	payload := strings.NewReader("{\n  \"alternateLink\": \"\",\n  \"calendarId\": \"\",\n  \"courseGroupEmail\": \"\",\n  \"courseMaterialSets\": [\n    {\n      \"materials\": [\n        {\n          \"driveFile\": {\n            \"alternateLink\": \"\",\n            \"id\": \"\",\n            \"thumbnailUrl\": \"\",\n            \"title\": \"\"\n          },\n          \"form\": {\n            \"formUrl\": \"\",\n            \"responseUrl\": \"\",\n            \"thumbnailUrl\": \"\",\n            \"title\": \"\"\n          },\n          \"link\": {\n            \"thumbnailUrl\": \"\",\n            \"title\": \"\",\n            \"url\": \"\"\n          },\n          \"youTubeVideo\": {\n            \"alternateLink\": \"\",\n            \"id\": \"\",\n            \"thumbnailUrl\": \"\",\n            \"title\": \"\"\n          }\n        }\n      ],\n      \"title\": \"\"\n    }\n  ],\n  \"courseState\": \"\",\n  \"creationTime\": \"\",\n  \"description\": \"\",\n  \"descriptionHeading\": \"\",\n  \"enrollmentCode\": \"\",\n  \"gradebookSettings\": {\n    \"calculationType\": \"\",\n    \"displaySetting\": \"\",\n    \"gradeCategories\": [\n      {\n        \"defaultGradeDenominator\": 0,\n        \"id\": \"\",\n        \"name\": \"\",\n        \"weight\": 0\n      }\n    ]\n  },\n  \"guardiansEnabled\": false,\n  \"id\": \"\",\n  \"name\": \"\",\n  \"ownerId\": \"\",\n  \"room\": \"\",\n  \"section\": \"\",\n  \"teacherFolder\": {\n    \"alternateLink\": \"\",\n    \"id\": \"\",\n    \"title\": \"\"\n  },\n  \"teacherGroupEmail\": \"\",\n  \"updateTime\": \"\"\n}")

	req, _ := http.NewRequest("POST", url, payload)

	req.Header.Add("content-type", "application/json")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
POST /baseUrl/v1/courses HTTP/1.1
Content-Type: application/json
Host: example.com
Content-Length: 1314

{
  "alternateLink": "",
  "calendarId": "",
  "courseGroupEmail": "",
  "courseMaterialSets": [
    {
      "materials": [
        {
          "driveFile": {
            "alternateLink": "",
            "id": "",
            "thumbnailUrl": "",
            "title": ""
          },
          "form": {
            "formUrl": "",
            "responseUrl": "",
            "thumbnailUrl": "",
            "title": ""
          },
          "link": {
            "thumbnailUrl": "",
            "title": "",
            "url": ""
          },
          "youTubeVideo": {
            "alternateLink": "",
            "id": "",
            "thumbnailUrl": "",
            "title": ""
          }
        }
      ],
      "title": ""
    }
  ],
  "courseState": "",
  "creationTime": "",
  "description": "",
  "descriptionHeading": "",
  "enrollmentCode": "",
  "gradebookSettings": {
    "calculationType": "",
    "displaySetting": "",
    "gradeCategories": [
      {
        "defaultGradeDenominator": 0,
        "id": "",
        "name": "",
        "weight": 0
      }
    ]
  },
  "guardiansEnabled": false,
  "id": "",
  "name": "",
  "ownerId": "",
  "room": "",
  "section": "",
  "teacherFolder": {
    "alternateLink": "",
    "id": "",
    "title": ""
  },
  "teacherGroupEmail": "",
  "updateTime": ""
}
AsyncHttpClient client = new DefaultAsyncHttpClient();
client.prepare("POST", "{{baseUrl}}/v1/courses")
  .setHeader("content-type", "application/json")
  .setBody("{\n  \"alternateLink\": \"\",\n  \"calendarId\": \"\",\n  \"courseGroupEmail\": \"\",\n  \"courseMaterialSets\": [\n    {\n      \"materials\": [\n        {\n          \"driveFile\": {\n            \"alternateLink\": \"\",\n            \"id\": \"\",\n            \"thumbnailUrl\": \"\",\n            \"title\": \"\"\n          },\n          \"form\": {\n            \"formUrl\": \"\",\n            \"responseUrl\": \"\",\n            \"thumbnailUrl\": \"\",\n            \"title\": \"\"\n          },\n          \"link\": {\n            \"thumbnailUrl\": \"\",\n            \"title\": \"\",\n            \"url\": \"\"\n          },\n          \"youTubeVideo\": {\n            \"alternateLink\": \"\",\n            \"id\": \"\",\n            \"thumbnailUrl\": \"\",\n            \"title\": \"\"\n          }\n        }\n      ],\n      \"title\": \"\"\n    }\n  ],\n  \"courseState\": \"\",\n  \"creationTime\": \"\",\n  \"description\": \"\",\n  \"descriptionHeading\": \"\",\n  \"enrollmentCode\": \"\",\n  \"gradebookSettings\": {\n    \"calculationType\": \"\",\n    \"displaySetting\": \"\",\n    \"gradeCategories\": [\n      {\n        \"defaultGradeDenominator\": 0,\n        \"id\": \"\",\n        \"name\": \"\",\n        \"weight\": 0\n      }\n    ]\n  },\n  \"guardiansEnabled\": false,\n  \"id\": \"\",\n  \"name\": \"\",\n  \"ownerId\": \"\",\n  \"room\": \"\",\n  \"section\": \"\",\n  \"teacherFolder\": {\n    \"alternateLink\": \"\",\n    \"id\": \"\",\n    \"title\": \"\"\n  },\n  \"teacherGroupEmail\": \"\",\n  \"updateTime\": \"\"\n}")
  .execute()
  .toCompletableFuture()
  .thenAccept(System.out::println)
  .join();

client.close();
HttpRequest request = HttpRequest.newBuilder()
    .uri(URI.create("{{baseUrl}}/v1/courses"))
    .header("content-type", "application/json")
    .method("POST", HttpRequest.BodyPublishers.ofString("{\n  \"alternateLink\": \"\",\n  \"calendarId\": \"\",\n  \"courseGroupEmail\": \"\",\n  \"courseMaterialSets\": [\n    {\n      \"materials\": [\n        {\n          \"driveFile\": {\n            \"alternateLink\": \"\",\n            \"id\": \"\",\n            \"thumbnailUrl\": \"\",\n            \"title\": \"\"\n          },\n          \"form\": {\n            \"formUrl\": \"\",\n            \"responseUrl\": \"\",\n            \"thumbnailUrl\": \"\",\n            \"title\": \"\"\n          },\n          \"link\": {\n            \"thumbnailUrl\": \"\",\n            \"title\": \"\",\n            \"url\": \"\"\n          },\n          \"youTubeVideo\": {\n            \"alternateLink\": \"\",\n            \"id\": \"\",\n            \"thumbnailUrl\": \"\",\n            \"title\": \"\"\n          }\n        }\n      ],\n      \"title\": \"\"\n    }\n  ],\n  \"courseState\": \"\",\n  \"creationTime\": \"\",\n  \"description\": \"\",\n  \"descriptionHeading\": \"\",\n  \"enrollmentCode\": \"\",\n  \"gradebookSettings\": {\n    \"calculationType\": \"\",\n    \"displaySetting\": \"\",\n    \"gradeCategories\": [\n      {\n        \"defaultGradeDenominator\": 0,\n        \"id\": \"\",\n        \"name\": \"\",\n        \"weight\": 0\n      }\n    ]\n  },\n  \"guardiansEnabled\": false,\n  \"id\": \"\",\n  \"name\": \"\",\n  \"ownerId\": \"\",\n  \"room\": \"\",\n  \"section\": \"\",\n  \"teacherFolder\": {\n    \"alternateLink\": \"\",\n    \"id\": \"\",\n    \"title\": \"\"\n  },\n  \"teacherGroupEmail\": \"\",\n  \"updateTime\": \"\"\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  \"alternateLink\": \"\",\n  \"calendarId\": \"\",\n  \"courseGroupEmail\": \"\",\n  \"courseMaterialSets\": [\n    {\n      \"materials\": [\n        {\n          \"driveFile\": {\n            \"alternateLink\": \"\",\n            \"id\": \"\",\n            \"thumbnailUrl\": \"\",\n            \"title\": \"\"\n          },\n          \"form\": {\n            \"formUrl\": \"\",\n            \"responseUrl\": \"\",\n            \"thumbnailUrl\": \"\",\n            \"title\": \"\"\n          },\n          \"link\": {\n            \"thumbnailUrl\": \"\",\n            \"title\": \"\",\n            \"url\": \"\"\n          },\n          \"youTubeVideo\": {\n            \"alternateLink\": \"\",\n            \"id\": \"\",\n            \"thumbnailUrl\": \"\",\n            \"title\": \"\"\n          }\n        }\n      ],\n      \"title\": \"\"\n    }\n  ],\n  \"courseState\": \"\",\n  \"creationTime\": \"\",\n  \"description\": \"\",\n  \"descriptionHeading\": \"\",\n  \"enrollmentCode\": \"\",\n  \"gradebookSettings\": {\n    \"calculationType\": \"\",\n    \"displaySetting\": \"\",\n    \"gradeCategories\": [\n      {\n        \"defaultGradeDenominator\": 0,\n        \"id\": \"\",\n        \"name\": \"\",\n        \"weight\": 0\n      }\n    ]\n  },\n  \"guardiansEnabled\": false,\n  \"id\": \"\",\n  \"name\": \"\",\n  \"ownerId\": \"\",\n  \"room\": \"\",\n  \"section\": \"\",\n  \"teacherFolder\": {\n    \"alternateLink\": \"\",\n    \"id\": \"\",\n    \"title\": \"\"\n  },\n  \"teacherGroupEmail\": \"\",\n  \"updateTime\": \"\"\n}");
Request request = new Request.Builder()
  .url("{{baseUrl}}/v1/courses")
  .post(body)
  .addHeader("content-type", "application/json")
  .build();

Response response = client.newCall(request).execute();
HttpResponse response = Unirest.post("{{baseUrl}}/v1/courses")
  .header("content-type", "application/json")
  .body("{\n  \"alternateLink\": \"\",\n  \"calendarId\": \"\",\n  \"courseGroupEmail\": \"\",\n  \"courseMaterialSets\": [\n    {\n      \"materials\": [\n        {\n          \"driveFile\": {\n            \"alternateLink\": \"\",\n            \"id\": \"\",\n            \"thumbnailUrl\": \"\",\n            \"title\": \"\"\n          },\n          \"form\": {\n            \"formUrl\": \"\",\n            \"responseUrl\": \"\",\n            \"thumbnailUrl\": \"\",\n            \"title\": \"\"\n          },\n          \"link\": {\n            \"thumbnailUrl\": \"\",\n            \"title\": \"\",\n            \"url\": \"\"\n          },\n          \"youTubeVideo\": {\n            \"alternateLink\": \"\",\n            \"id\": \"\",\n            \"thumbnailUrl\": \"\",\n            \"title\": \"\"\n          }\n        }\n      ],\n      \"title\": \"\"\n    }\n  ],\n  \"courseState\": \"\",\n  \"creationTime\": \"\",\n  \"description\": \"\",\n  \"descriptionHeading\": \"\",\n  \"enrollmentCode\": \"\",\n  \"gradebookSettings\": {\n    \"calculationType\": \"\",\n    \"displaySetting\": \"\",\n    \"gradeCategories\": [\n      {\n        \"defaultGradeDenominator\": 0,\n        \"id\": \"\",\n        \"name\": \"\",\n        \"weight\": 0\n      }\n    ]\n  },\n  \"guardiansEnabled\": false,\n  \"id\": \"\",\n  \"name\": \"\",\n  \"ownerId\": \"\",\n  \"room\": \"\",\n  \"section\": \"\",\n  \"teacherFolder\": {\n    \"alternateLink\": \"\",\n    \"id\": \"\",\n    \"title\": \"\"\n  },\n  \"teacherGroupEmail\": \"\",\n  \"updateTime\": \"\"\n}")
  .asString();
const data = JSON.stringify({
  alternateLink: '',
  calendarId: '',
  courseGroupEmail: '',
  courseMaterialSets: [
    {
      materials: [
        {
          driveFile: {
            alternateLink: '',
            id: '',
            thumbnailUrl: '',
            title: ''
          },
          form: {
            formUrl: '',
            responseUrl: '',
            thumbnailUrl: '',
            title: ''
          },
          link: {
            thumbnailUrl: '',
            title: '',
            url: ''
          },
          youTubeVideo: {
            alternateLink: '',
            id: '',
            thumbnailUrl: '',
            title: ''
          }
        }
      ],
      title: ''
    }
  ],
  courseState: '',
  creationTime: '',
  description: '',
  descriptionHeading: '',
  enrollmentCode: '',
  gradebookSettings: {
    calculationType: '',
    displaySetting: '',
    gradeCategories: [
      {
        defaultGradeDenominator: 0,
        id: '',
        name: '',
        weight: 0
      }
    ]
  },
  guardiansEnabled: false,
  id: '',
  name: '',
  ownerId: '',
  room: '',
  section: '',
  teacherFolder: {
    alternateLink: '',
    id: '',
    title: ''
  },
  teacherGroupEmail: '',
  updateTime: ''
});

const xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener('readystatechange', function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open('POST', '{{baseUrl}}/v1/courses');
xhr.setRequestHeader('content-type', 'application/json');

xhr.send(data);
import axios from 'axios';

const options = {
  method: 'POST',
  url: '{{baseUrl}}/v1/courses',
  headers: {'content-type': 'application/json'},
  data: {
    alternateLink: '',
    calendarId: '',
    courseGroupEmail: '',
    courseMaterialSets: [
      {
        materials: [
          {
            driveFile: {alternateLink: '', id: '', thumbnailUrl: '', title: ''},
            form: {formUrl: '', responseUrl: '', thumbnailUrl: '', title: ''},
            link: {thumbnailUrl: '', title: '', url: ''},
            youTubeVideo: {alternateLink: '', id: '', thumbnailUrl: '', title: ''}
          }
        ],
        title: ''
      }
    ],
    courseState: '',
    creationTime: '',
    description: '',
    descriptionHeading: '',
    enrollmentCode: '',
    gradebookSettings: {
      calculationType: '',
      displaySetting: '',
      gradeCategories: [{defaultGradeDenominator: 0, id: '', name: '', weight: 0}]
    },
    guardiansEnabled: false,
    id: '',
    name: '',
    ownerId: '',
    room: '',
    section: '',
    teacherFolder: {alternateLink: '', id: '', title: ''},
    teacherGroupEmail: '',
    updateTime: ''
  }
};

try {
  const { data } = await axios.request(options);
  console.log(data);
} catch (error) {
  console.error(error);
}
const url = '{{baseUrl}}/v1/courses';
const options = {
  method: 'POST',
  headers: {'content-type': 'application/json'},
  body: '{"alternateLink":"","calendarId":"","courseGroupEmail":"","courseMaterialSets":[{"materials":[{"driveFile":{"alternateLink":"","id":"","thumbnailUrl":"","title":""},"form":{"formUrl":"","responseUrl":"","thumbnailUrl":"","title":""},"link":{"thumbnailUrl":"","title":"","url":""},"youTubeVideo":{"alternateLink":"","id":"","thumbnailUrl":"","title":""}}],"title":""}],"courseState":"","creationTime":"","description":"","descriptionHeading":"","enrollmentCode":"","gradebookSettings":{"calculationType":"","displaySetting":"","gradeCategories":[{"defaultGradeDenominator":0,"id":"","name":"","weight":0}]},"guardiansEnabled":false,"id":"","name":"","ownerId":"","room":"","section":"","teacherFolder":{"alternateLink":"","id":"","title":""},"teacherGroupEmail":"","updateTime":""}'
};

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}}/v1/courses',
  method: 'POST',
  headers: {
    'content-type': 'application/json'
  },
  processData: false,
  data: '{\n  "alternateLink": "",\n  "calendarId": "",\n  "courseGroupEmail": "",\n  "courseMaterialSets": [\n    {\n      "materials": [\n        {\n          "driveFile": {\n            "alternateLink": "",\n            "id": "",\n            "thumbnailUrl": "",\n            "title": ""\n          },\n          "form": {\n            "formUrl": "",\n            "responseUrl": "",\n            "thumbnailUrl": "",\n            "title": ""\n          },\n          "link": {\n            "thumbnailUrl": "",\n            "title": "",\n            "url": ""\n          },\n          "youTubeVideo": {\n            "alternateLink": "",\n            "id": "",\n            "thumbnailUrl": "",\n            "title": ""\n          }\n        }\n      ],\n      "title": ""\n    }\n  ],\n  "courseState": "",\n  "creationTime": "",\n  "description": "",\n  "descriptionHeading": "",\n  "enrollmentCode": "",\n  "gradebookSettings": {\n    "calculationType": "",\n    "displaySetting": "",\n    "gradeCategories": [\n      {\n        "defaultGradeDenominator": 0,\n        "id": "",\n        "name": "",\n        "weight": 0\n      }\n    ]\n  },\n  "guardiansEnabled": false,\n  "id": "",\n  "name": "",\n  "ownerId": "",\n  "room": "",\n  "section": "",\n  "teacherFolder": {\n    "alternateLink": "",\n    "id": "",\n    "title": ""\n  },\n  "teacherGroupEmail": "",\n  "updateTime": ""\n}'
};

$.ajax(settings).done(function (response) {
  console.log(response);
});
val client = OkHttpClient()

val mediaType = MediaType.parse("application/json")
val body = RequestBody.create(mediaType, "{\n  \"alternateLink\": \"\",\n  \"calendarId\": \"\",\n  \"courseGroupEmail\": \"\",\n  \"courseMaterialSets\": [\n    {\n      \"materials\": [\n        {\n          \"driveFile\": {\n            \"alternateLink\": \"\",\n            \"id\": \"\",\n            \"thumbnailUrl\": \"\",\n            \"title\": \"\"\n          },\n          \"form\": {\n            \"formUrl\": \"\",\n            \"responseUrl\": \"\",\n            \"thumbnailUrl\": \"\",\n            \"title\": \"\"\n          },\n          \"link\": {\n            \"thumbnailUrl\": \"\",\n            \"title\": \"\",\n            \"url\": \"\"\n          },\n          \"youTubeVideo\": {\n            \"alternateLink\": \"\",\n            \"id\": \"\",\n            \"thumbnailUrl\": \"\",\n            \"title\": \"\"\n          }\n        }\n      ],\n      \"title\": \"\"\n    }\n  ],\n  \"courseState\": \"\",\n  \"creationTime\": \"\",\n  \"description\": \"\",\n  \"descriptionHeading\": \"\",\n  \"enrollmentCode\": \"\",\n  \"gradebookSettings\": {\n    \"calculationType\": \"\",\n    \"displaySetting\": \"\",\n    \"gradeCategories\": [\n      {\n        \"defaultGradeDenominator\": 0,\n        \"id\": \"\",\n        \"name\": \"\",\n        \"weight\": 0\n      }\n    ]\n  },\n  \"guardiansEnabled\": false,\n  \"id\": \"\",\n  \"name\": \"\",\n  \"ownerId\": \"\",\n  \"room\": \"\",\n  \"section\": \"\",\n  \"teacherFolder\": {\n    \"alternateLink\": \"\",\n    \"id\": \"\",\n    \"title\": \"\"\n  },\n  \"teacherGroupEmail\": \"\",\n  \"updateTime\": \"\"\n}")
val request = Request.Builder()
  .url("{{baseUrl}}/v1/courses")
  .post(body)
  .addHeader("content-type", "application/json")
  .build()

val response = client.newCall(request).execute()
const http = require('https');

const options = {
  method: 'POST',
  hostname: 'example.com',
  port: null,
  path: '/baseUrl/v1/courses',
  headers: {
    'content-type': 'application/json'
  }
};

const req = http.request(options, function (res) {
  const chunks = [];

  res.on('data', function (chunk) {
    chunks.push(chunk);
  });

  res.on('end', function () {
    const body = Buffer.concat(chunks);
    console.log(body.toString());
  });
});

req.write(JSON.stringify({
  alternateLink: '',
  calendarId: '',
  courseGroupEmail: '',
  courseMaterialSets: [
    {
      materials: [
        {
          driveFile: {alternateLink: '', id: '', thumbnailUrl: '', title: ''},
          form: {formUrl: '', responseUrl: '', thumbnailUrl: '', title: ''},
          link: {thumbnailUrl: '', title: '', url: ''},
          youTubeVideo: {alternateLink: '', id: '', thumbnailUrl: '', title: ''}
        }
      ],
      title: ''
    }
  ],
  courseState: '',
  creationTime: '',
  description: '',
  descriptionHeading: '',
  enrollmentCode: '',
  gradebookSettings: {
    calculationType: '',
    displaySetting: '',
    gradeCategories: [{defaultGradeDenominator: 0, id: '', name: '', weight: 0}]
  },
  guardiansEnabled: false,
  id: '',
  name: '',
  ownerId: '',
  room: '',
  section: '',
  teacherFolder: {alternateLink: '', id: '', title: ''},
  teacherGroupEmail: '',
  updateTime: ''
}));
req.end();
const request = require('request');

const options = {
  method: 'POST',
  url: '{{baseUrl}}/v1/courses',
  headers: {'content-type': 'application/json'},
  body: {
    alternateLink: '',
    calendarId: '',
    courseGroupEmail: '',
    courseMaterialSets: [
      {
        materials: [
          {
            driveFile: {alternateLink: '', id: '', thumbnailUrl: '', title: ''},
            form: {formUrl: '', responseUrl: '', thumbnailUrl: '', title: ''},
            link: {thumbnailUrl: '', title: '', url: ''},
            youTubeVideo: {alternateLink: '', id: '', thumbnailUrl: '', title: ''}
          }
        ],
        title: ''
      }
    ],
    courseState: '',
    creationTime: '',
    description: '',
    descriptionHeading: '',
    enrollmentCode: '',
    gradebookSettings: {
      calculationType: '',
      displaySetting: '',
      gradeCategories: [{defaultGradeDenominator: 0, id: '', name: '', weight: 0}]
    },
    guardiansEnabled: false,
    id: '',
    name: '',
    ownerId: '',
    room: '',
    section: '',
    teacherFolder: {alternateLink: '', id: '', title: ''},
    teacherGroupEmail: '',
    updateTime: ''
  },
  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}}/v1/courses');

req.headers({
  'content-type': 'application/json'
});

req.type('json');
req.send({
  alternateLink: '',
  calendarId: '',
  courseGroupEmail: '',
  courseMaterialSets: [
    {
      materials: [
        {
          driveFile: {
            alternateLink: '',
            id: '',
            thumbnailUrl: '',
            title: ''
          },
          form: {
            formUrl: '',
            responseUrl: '',
            thumbnailUrl: '',
            title: ''
          },
          link: {
            thumbnailUrl: '',
            title: '',
            url: ''
          },
          youTubeVideo: {
            alternateLink: '',
            id: '',
            thumbnailUrl: '',
            title: ''
          }
        }
      ],
      title: ''
    }
  ],
  courseState: '',
  creationTime: '',
  description: '',
  descriptionHeading: '',
  enrollmentCode: '',
  gradebookSettings: {
    calculationType: '',
    displaySetting: '',
    gradeCategories: [
      {
        defaultGradeDenominator: 0,
        id: '',
        name: '',
        weight: 0
      }
    ]
  },
  guardiansEnabled: false,
  id: '',
  name: '',
  ownerId: '',
  room: '',
  section: '',
  teacherFolder: {
    alternateLink: '',
    id: '',
    title: ''
  },
  teacherGroupEmail: '',
  updateTime: ''
});

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}}/v1/courses',
  headers: {'content-type': 'application/json'},
  data: {
    alternateLink: '',
    calendarId: '',
    courseGroupEmail: '',
    courseMaterialSets: [
      {
        materials: [
          {
            driveFile: {alternateLink: '', id: '', thumbnailUrl: '', title: ''},
            form: {formUrl: '', responseUrl: '', thumbnailUrl: '', title: ''},
            link: {thumbnailUrl: '', title: '', url: ''},
            youTubeVideo: {alternateLink: '', id: '', thumbnailUrl: '', title: ''}
          }
        ],
        title: ''
      }
    ],
    courseState: '',
    creationTime: '',
    description: '',
    descriptionHeading: '',
    enrollmentCode: '',
    gradebookSettings: {
      calculationType: '',
      displaySetting: '',
      gradeCategories: [{defaultGradeDenominator: 0, id: '', name: '', weight: 0}]
    },
    guardiansEnabled: false,
    id: '',
    name: '',
    ownerId: '',
    room: '',
    section: '',
    teacherFolder: {alternateLink: '', id: '', title: ''},
    teacherGroupEmail: '',
    updateTime: ''
  }
};

try {
  const { data } = await axios.request(options);
  console.log(data);
} catch (error) {
  console.error(error);
}
const fetch = require('node-fetch');

const url = '{{baseUrl}}/v1/courses';
const options = {
  method: 'POST',
  headers: {'content-type': 'application/json'},
  body: '{"alternateLink":"","calendarId":"","courseGroupEmail":"","courseMaterialSets":[{"materials":[{"driveFile":{"alternateLink":"","id":"","thumbnailUrl":"","title":""},"form":{"formUrl":"","responseUrl":"","thumbnailUrl":"","title":""},"link":{"thumbnailUrl":"","title":"","url":""},"youTubeVideo":{"alternateLink":"","id":"","thumbnailUrl":"","title":""}}],"title":""}],"courseState":"","creationTime":"","description":"","descriptionHeading":"","enrollmentCode":"","gradebookSettings":{"calculationType":"","displaySetting":"","gradeCategories":[{"defaultGradeDenominator":0,"id":"","name":"","weight":0}]},"guardiansEnabled":false,"id":"","name":"","ownerId":"","room":"","section":"","teacherFolder":{"alternateLink":"","id":"","title":""},"teacherGroupEmail":"","updateTime":""}'
};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
#import 

NSDictionary *headers = @{ @"content-type": @"application/json" };
NSDictionary *parameters = @{ @"alternateLink": @"",
                              @"calendarId": @"",
                              @"courseGroupEmail": @"",
                              @"courseMaterialSets": @[ @{ @"materials": @[ @{ @"driveFile": @{ @"alternateLink": @"", @"id": @"", @"thumbnailUrl": @"", @"title": @"" }, @"form": @{ @"formUrl": @"", @"responseUrl": @"", @"thumbnailUrl": @"", @"title": @"" }, @"link": @{ @"thumbnailUrl": @"", @"title": @"", @"url": @"" }, @"youTubeVideo": @{ @"alternateLink": @"", @"id": @"", @"thumbnailUrl": @"", @"title": @"" } } ], @"title": @"" } ],
                              @"courseState": @"",
                              @"creationTime": @"",
                              @"description": @"",
                              @"descriptionHeading": @"",
                              @"enrollmentCode": @"",
                              @"gradebookSettings": @{ @"calculationType": @"", @"displaySetting": @"", @"gradeCategories": @[ @{ @"defaultGradeDenominator": @0, @"id": @"", @"name": @"", @"weight": @0 } ] },
                              @"guardiansEnabled": @NO,
                              @"id": @"",
                              @"name": @"",
                              @"ownerId": @"",
                              @"room": @"",
                              @"section": @"",
                              @"teacherFolder": @{ @"alternateLink": @"", @"id": @"", @"title": @"" },
                              @"teacherGroupEmail": @"",
                              @"updateTime": @"" };

NSData *postData = [NSJSONSerialization dataWithJSONObject:parameters options:0 error:nil];

NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"{{baseUrl}}/v1/courses"]
                                                       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}}/v1/courses" in
let headers = Header.add (Header.init ()) "content-type" "application/json" in
let body = Cohttp_lwt_body.of_string "{\n  \"alternateLink\": \"\",\n  \"calendarId\": \"\",\n  \"courseGroupEmail\": \"\",\n  \"courseMaterialSets\": [\n    {\n      \"materials\": [\n        {\n          \"driveFile\": {\n            \"alternateLink\": \"\",\n            \"id\": \"\",\n            \"thumbnailUrl\": \"\",\n            \"title\": \"\"\n          },\n          \"form\": {\n            \"formUrl\": \"\",\n            \"responseUrl\": \"\",\n            \"thumbnailUrl\": \"\",\n            \"title\": \"\"\n          },\n          \"link\": {\n            \"thumbnailUrl\": \"\",\n            \"title\": \"\",\n            \"url\": \"\"\n          },\n          \"youTubeVideo\": {\n            \"alternateLink\": \"\",\n            \"id\": \"\",\n            \"thumbnailUrl\": \"\",\n            \"title\": \"\"\n          }\n        }\n      ],\n      \"title\": \"\"\n    }\n  ],\n  \"courseState\": \"\",\n  \"creationTime\": \"\",\n  \"description\": \"\",\n  \"descriptionHeading\": \"\",\n  \"enrollmentCode\": \"\",\n  \"gradebookSettings\": {\n    \"calculationType\": \"\",\n    \"displaySetting\": \"\",\n    \"gradeCategories\": [\n      {\n        \"defaultGradeDenominator\": 0,\n        \"id\": \"\",\n        \"name\": \"\",\n        \"weight\": 0\n      }\n    ]\n  },\n  \"guardiansEnabled\": false,\n  \"id\": \"\",\n  \"name\": \"\",\n  \"ownerId\": \"\",\n  \"room\": \"\",\n  \"section\": \"\",\n  \"teacherFolder\": {\n    \"alternateLink\": \"\",\n    \"id\": \"\",\n    \"title\": \"\"\n  },\n  \"teacherGroupEmail\": \"\",\n  \"updateTime\": \"\"\n}" in

Client.call ~headers ~body `POST uri
>>= fun (res, body_stream) ->
  (* Do stuff with the result *)
 "{{baseUrl}}/v1/courses",
  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([
    'alternateLink' => '',
    'calendarId' => '',
    'courseGroupEmail' => '',
    'courseMaterialSets' => [
        [
                'materials' => [
                                [
                                                                'driveFile' => [
                                                                                                                                'alternateLink' => '',
                                                                                                                                'id' => '',
                                                                                                                                'thumbnailUrl' => '',
                                                                                                                                'title' => ''
                                                                ],
                                                                'form' => [
                                                                                                                                'formUrl' => '',
                                                                                                                                'responseUrl' => '',
                                                                                                                                'thumbnailUrl' => '',
                                                                                                                                'title' => ''
                                                                ],
                                                                'link' => [
                                                                                                                                'thumbnailUrl' => '',
                                                                                                                                'title' => '',
                                                                                                                                'url' => ''
                                                                ],
                                                                'youTubeVideo' => [
                                                                                                                                'alternateLink' => '',
                                                                                                                                'id' => '',
                                                                                                                                'thumbnailUrl' => '',
                                                                                                                                'title' => ''
                                                                ]
                                ]
                ],
                'title' => ''
        ]
    ],
    'courseState' => '',
    'creationTime' => '',
    'description' => '',
    'descriptionHeading' => '',
    'enrollmentCode' => '',
    'gradebookSettings' => [
        'calculationType' => '',
        'displaySetting' => '',
        'gradeCategories' => [
                [
                                'defaultGradeDenominator' => 0,
                                'id' => '',
                                'name' => '',
                                'weight' => 0
                ]
        ]
    ],
    'guardiansEnabled' => null,
    'id' => '',
    'name' => '',
    'ownerId' => '',
    'room' => '',
    'section' => '',
    'teacherFolder' => [
        'alternateLink' => '',
        'id' => '',
        'title' => ''
    ],
    'teacherGroupEmail' => '',
    'updateTime' => ''
  ]),
  CURLOPT_HTTPHEADER => [
    "content-type: application/json"
  ],
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
request('POST', '{{baseUrl}}/v1/courses', [
  'body' => '{
  "alternateLink": "",
  "calendarId": "",
  "courseGroupEmail": "",
  "courseMaterialSets": [
    {
      "materials": [
        {
          "driveFile": {
            "alternateLink": "",
            "id": "",
            "thumbnailUrl": "",
            "title": ""
          },
          "form": {
            "formUrl": "",
            "responseUrl": "",
            "thumbnailUrl": "",
            "title": ""
          },
          "link": {
            "thumbnailUrl": "",
            "title": "",
            "url": ""
          },
          "youTubeVideo": {
            "alternateLink": "",
            "id": "",
            "thumbnailUrl": "",
            "title": ""
          }
        }
      ],
      "title": ""
    }
  ],
  "courseState": "",
  "creationTime": "",
  "description": "",
  "descriptionHeading": "",
  "enrollmentCode": "",
  "gradebookSettings": {
    "calculationType": "",
    "displaySetting": "",
    "gradeCategories": [
      {
        "defaultGradeDenominator": 0,
        "id": "",
        "name": "",
        "weight": 0
      }
    ]
  },
  "guardiansEnabled": false,
  "id": "",
  "name": "",
  "ownerId": "",
  "room": "",
  "section": "",
  "teacherFolder": {
    "alternateLink": "",
    "id": "",
    "title": ""
  },
  "teacherGroupEmail": "",
  "updateTime": ""
}',
  'headers' => [
    'content-type' => 'application/json',
  ],
]);

echo $response->getBody();
setUrl('{{baseUrl}}/v1/courses');
$request->setMethod(HTTP_METH_POST);

$request->setHeaders([
  'content-type' => 'application/json'
]);

$request->setContentType('application/json');
$request->setBody(json_encode([
  'alternateLink' => '',
  'calendarId' => '',
  'courseGroupEmail' => '',
  'courseMaterialSets' => [
    [
        'materials' => [
                [
                                'driveFile' => [
                                                                'alternateLink' => '',
                                                                'id' => '',
                                                                'thumbnailUrl' => '',
                                                                'title' => ''
                                ],
                                'form' => [
                                                                'formUrl' => '',
                                                                'responseUrl' => '',
                                                                'thumbnailUrl' => '',
                                                                'title' => ''
                                ],
                                'link' => [
                                                                'thumbnailUrl' => '',
                                                                'title' => '',
                                                                'url' => ''
                                ],
                                'youTubeVideo' => [
                                                                'alternateLink' => '',
                                                                'id' => '',
                                                                'thumbnailUrl' => '',
                                                                'title' => ''
                                ]
                ]
        ],
        'title' => ''
    ]
  ],
  'courseState' => '',
  'creationTime' => '',
  'description' => '',
  'descriptionHeading' => '',
  'enrollmentCode' => '',
  'gradebookSettings' => [
    'calculationType' => '',
    'displaySetting' => '',
    'gradeCategories' => [
        [
                'defaultGradeDenominator' => 0,
                'id' => '',
                'name' => '',
                'weight' => 0
        ]
    ]
  ],
  'guardiansEnabled' => null,
  'id' => '',
  'name' => '',
  'ownerId' => '',
  'room' => '',
  'section' => '',
  'teacherFolder' => [
    'alternateLink' => '',
    'id' => '',
    'title' => ''
  ],
  'teacherGroupEmail' => '',
  'updateTime' => ''
]));

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
append(json_encode([
  'alternateLink' => '',
  'calendarId' => '',
  'courseGroupEmail' => '',
  'courseMaterialSets' => [
    [
        'materials' => [
                [
                                'driveFile' => [
                                                                'alternateLink' => '',
                                                                'id' => '',
                                                                'thumbnailUrl' => '',
                                                                'title' => ''
                                ],
                                'form' => [
                                                                'formUrl' => '',
                                                                'responseUrl' => '',
                                                                'thumbnailUrl' => '',
                                                                'title' => ''
                                ],
                                'link' => [
                                                                'thumbnailUrl' => '',
                                                                'title' => '',
                                                                'url' => ''
                                ],
                                'youTubeVideo' => [
                                                                'alternateLink' => '',
                                                                'id' => '',
                                                                'thumbnailUrl' => '',
                                                                'title' => ''
                                ]
                ]
        ],
        'title' => ''
    ]
  ],
  'courseState' => '',
  'creationTime' => '',
  'description' => '',
  'descriptionHeading' => '',
  'enrollmentCode' => '',
  'gradebookSettings' => [
    'calculationType' => '',
    'displaySetting' => '',
    'gradeCategories' => [
        [
                'defaultGradeDenominator' => 0,
                'id' => '',
                'name' => '',
                'weight' => 0
        ]
    ]
  ],
  'guardiansEnabled' => null,
  'id' => '',
  'name' => '',
  'ownerId' => '',
  'room' => '',
  'section' => '',
  'teacherFolder' => [
    'alternateLink' => '',
    'id' => '',
    'title' => ''
  ],
  'teacherGroupEmail' => '',
  'updateTime' => ''
]));
$request->setRequestUrl('{{baseUrl}}/v1/courses');
$request->setRequestMethod('POST');
$request->setBody($body);

$request->setHeaders([
  'content-type' => 'application/json'
]);

$client->enqueue($request)->send();
$response = $client->getResponse();

echo $response->getBody();
$headers=@{}
$headers.Add("content-type", "application/json")
$response = Invoke-WebRequest -Uri '{{baseUrl}}/v1/courses' -Method POST -Headers $headers -ContentType 'application/json' -Body '{
  "alternateLink": "",
  "calendarId": "",
  "courseGroupEmail": "",
  "courseMaterialSets": [
    {
      "materials": [
        {
          "driveFile": {
            "alternateLink": "",
            "id": "",
            "thumbnailUrl": "",
            "title": ""
          },
          "form": {
            "formUrl": "",
            "responseUrl": "",
            "thumbnailUrl": "",
            "title": ""
          },
          "link": {
            "thumbnailUrl": "",
            "title": "",
            "url": ""
          },
          "youTubeVideo": {
            "alternateLink": "",
            "id": "",
            "thumbnailUrl": "",
            "title": ""
          }
        }
      ],
      "title": ""
    }
  ],
  "courseState": "",
  "creationTime": "",
  "description": "",
  "descriptionHeading": "",
  "enrollmentCode": "",
  "gradebookSettings": {
    "calculationType": "",
    "displaySetting": "",
    "gradeCategories": [
      {
        "defaultGradeDenominator": 0,
        "id": "",
        "name": "",
        "weight": 0
      }
    ]
  },
  "guardiansEnabled": false,
  "id": "",
  "name": "",
  "ownerId": "",
  "room": "",
  "section": "",
  "teacherFolder": {
    "alternateLink": "",
    "id": "",
    "title": ""
  },
  "teacherGroupEmail": "",
  "updateTime": ""
}'
$headers=@{}
$headers.Add("content-type", "application/json")
$response = Invoke-RestMethod -Uri '{{baseUrl}}/v1/courses' -Method POST -Headers $headers -ContentType 'application/json' -Body '{
  "alternateLink": "",
  "calendarId": "",
  "courseGroupEmail": "",
  "courseMaterialSets": [
    {
      "materials": [
        {
          "driveFile": {
            "alternateLink": "",
            "id": "",
            "thumbnailUrl": "",
            "title": ""
          },
          "form": {
            "formUrl": "",
            "responseUrl": "",
            "thumbnailUrl": "",
            "title": ""
          },
          "link": {
            "thumbnailUrl": "",
            "title": "",
            "url": ""
          },
          "youTubeVideo": {
            "alternateLink": "",
            "id": "",
            "thumbnailUrl": "",
            "title": ""
          }
        }
      ],
      "title": ""
    }
  ],
  "courseState": "",
  "creationTime": "",
  "description": "",
  "descriptionHeading": "",
  "enrollmentCode": "",
  "gradebookSettings": {
    "calculationType": "",
    "displaySetting": "",
    "gradeCategories": [
      {
        "defaultGradeDenominator": 0,
        "id": "",
        "name": "",
        "weight": 0
      }
    ]
  },
  "guardiansEnabled": false,
  "id": "",
  "name": "",
  "ownerId": "",
  "room": "",
  "section": "",
  "teacherFolder": {
    "alternateLink": "",
    "id": "",
    "title": ""
  },
  "teacherGroupEmail": "",
  "updateTime": ""
}'
import http.client

conn = http.client.HTTPSConnection("example.com")

payload = "{\n  \"alternateLink\": \"\",\n  \"calendarId\": \"\",\n  \"courseGroupEmail\": \"\",\n  \"courseMaterialSets\": [\n    {\n      \"materials\": [\n        {\n          \"driveFile\": {\n            \"alternateLink\": \"\",\n            \"id\": \"\",\n            \"thumbnailUrl\": \"\",\n            \"title\": \"\"\n          },\n          \"form\": {\n            \"formUrl\": \"\",\n            \"responseUrl\": \"\",\n            \"thumbnailUrl\": \"\",\n            \"title\": \"\"\n          },\n          \"link\": {\n            \"thumbnailUrl\": \"\",\n            \"title\": \"\",\n            \"url\": \"\"\n          },\n          \"youTubeVideo\": {\n            \"alternateLink\": \"\",\n            \"id\": \"\",\n            \"thumbnailUrl\": \"\",\n            \"title\": \"\"\n          }\n        }\n      ],\n      \"title\": \"\"\n    }\n  ],\n  \"courseState\": \"\",\n  \"creationTime\": \"\",\n  \"description\": \"\",\n  \"descriptionHeading\": \"\",\n  \"enrollmentCode\": \"\",\n  \"gradebookSettings\": {\n    \"calculationType\": \"\",\n    \"displaySetting\": \"\",\n    \"gradeCategories\": [\n      {\n        \"defaultGradeDenominator\": 0,\n        \"id\": \"\",\n        \"name\": \"\",\n        \"weight\": 0\n      }\n    ]\n  },\n  \"guardiansEnabled\": false,\n  \"id\": \"\",\n  \"name\": \"\",\n  \"ownerId\": \"\",\n  \"room\": \"\",\n  \"section\": \"\",\n  \"teacherFolder\": {\n    \"alternateLink\": \"\",\n    \"id\": \"\",\n    \"title\": \"\"\n  },\n  \"teacherGroupEmail\": \"\",\n  \"updateTime\": \"\"\n}"

headers = { 'content-type': "application/json" }

conn.request("POST", "/baseUrl/v1/courses", payload, headers)

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))
import requests

url = "{{baseUrl}}/v1/courses"

payload = {
    "alternateLink": "",
    "calendarId": "",
    "courseGroupEmail": "",
    "courseMaterialSets": [
        {
            "materials": [
                {
                    "driveFile": {
                        "alternateLink": "",
                        "id": "",
                        "thumbnailUrl": "",
                        "title": ""
                    },
                    "form": {
                        "formUrl": "",
                        "responseUrl": "",
                        "thumbnailUrl": "",
                        "title": ""
                    },
                    "link": {
                        "thumbnailUrl": "",
                        "title": "",
                        "url": ""
                    },
                    "youTubeVideo": {
                        "alternateLink": "",
                        "id": "",
                        "thumbnailUrl": "",
                        "title": ""
                    }
                }
            ],
            "title": ""
        }
    ],
    "courseState": "",
    "creationTime": "",
    "description": "",
    "descriptionHeading": "",
    "enrollmentCode": "",
    "gradebookSettings": {
        "calculationType": "",
        "displaySetting": "",
        "gradeCategories": [
            {
                "defaultGradeDenominator": 0,
                "id": "",
                "name": "",
                "weight": 0
            }
        ]
    },
    "guardiansEnabled": False,
    "id": "",
    "name": "",
    "ownerId": "",
    "room": "",
    "section": "",
    "teacherFolder": {
        "alternateLink": "",
        "id": "",
        "title": ""
    },
    "teacherGroupEmail": "",
    "updateTime": ""
}
headers = {"content-type": "application/json"}

response = requests.post(url, json=payload, headers=headers)

print(response.json())
library(httr)

url <- "{{baseUrl}}/v1/courses"

payload <- "{\n  \"alternateLink\": \"\",\n  \"calendarId\": \"\",\n  \"courseGroupEmail\": \"\",\n  \"courseMaterialSets\": [\n    {\n      \"materials\": [\n        {\n          \"driveFile\": {\n            \"alternateLink\": \"\",\n            \"id\": \"\",\n            \"thumbnailUrl\": \"\",\n            \"title\": \"\"\n          },\n          \"form\": {\n            \"formUrl\": \"\",\n            \"responseUrl\": \"\",\n            \"thumbnailUrl\": \"\",\n            \"title\": \"\"\n          },\n          \"link\": {\n            \"thumbnailUrl\": \"\",\n            \"title\": \"\",\n            \"url\": \"\"\n          },\n          \"youTubeVideo\": {\n            \"alternateLink\": \"\",\n            \"id\": \"\",\n            \"thumbnailUrl\": \"\",\n            \"title\": \"\"\n          }\n        }\n      ],\n      \"title\": \"\"\n    }\n  ],\n  \"courseState\": \"\",\n  \"creationTime\": \"\",\n  \"description\": \"\",\n  \"descriptionHeading\": \"\",\n  \"enrollmentCode\": \"\",\n  \"gradebookSettings\": {\n    \"calculationType\": \"\",\n    \"displaySetting\": \"\",\n    \"gradeCategories\": [\n      {\n        \"defaultGradeDenominator\": 0,\n        \"id\": \"\",\n        \"name\": \"\",\n        \"weight\": 0\n      }\n    ]\n  },\n  \"guardiansEnabled\": false,\n  \"id\": \"\",\n  \"name\": \"\",\n  \"ownerId\": \"\",\n  \"room\": \"\",\n  \"section\": \"\",\n  \"teacherFolder\": {\n    \"alternateLink\": \"\",\n    \"id\": \"\",\n    \"title\": \"\"\n  },\n  \"teacherGroupEmail\": \"\",\n  \"updateTime\": \"\"\n}"

encode <- "json"

response <- VERB("POST", url, body = payload, content_type("application/json"), encode = encode)

content(response, "text")
require 'uri'
require 'net/http'

url = URI("{{baseUrl}}/v1/courses")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["content-type"] = 'application/json'
request.body = "{\n  \"alternateLink\": \"\",\n  \"calendarId\": \"\",\n  \"courseGroupEmail\": \"\",\n  \"courseMaterialSets\": [\n    {\n      \"materials\": [\n        {\n          \"driveFile\": {\n            \"alternateLink\": \"\",\n            \"id\": \"\",\n            \"thumbnailUrl\": \"\",\n            \"title\": \"\"\n          },\n          \"form\": {\n            \"formUrl\": \"\",\n            \"responseUrl\": \"\",\n            \"thumbnailUrl\": \"\",\n            \"title\": \"\"\n          },\n          \"link\": {\n            \"thumbnailUrl\": \"\",\n            \"title\": \"\",\n            \"url\": \"\"\n          },\n          \"youTubeVideo\": {\n            \"alternateLink\": \"\",\n            \"id\": \"\",\n            \"thumbnailUrl\": \"\",\n            \"title\": \"\"\n          }\n        }\n      ],\n      \"title\": \"\"\n    }\n  ],\n  \"courseState\": \"\",\n  \"creationTime\": \"\",\n  \"description\": \"\",\n  \"descriptionHeading\": \"\",\n  \"enrollmentCode\": \"\",\n  \"gradebookSettings\": {\n    \"calculationType\": \"\",\n    \"displaySetting\": \"\",\n    \"gradeCategories\": [\n      {\n        \"defaultGradeDenominator\": 0,\n        \"id\": \"\",\n        \"name\": \"\",\n        \"weight\": 0\n      }\n    ]\n  },\n  \"guardiansEnabled\": false,\n  \"id\": \"\",\n  \"name\": \"\",\n  \"ownerId\": \"\",\n  \"room\": \"\",\n  \"section\": \"\",\n  \"teacherFolder\": {\n    \"alternateLink\": \"\",\n    \"id\": \"\",\n    \"title\": \"\"\n  },\n  \"teacherGroupEmail\": \"\",\n  \"updateTime\": \"\"\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/v1/courses') do |req|
  req.body = "{\n  \"alternateLink\": \"\",\n  \"calendarId\": \"\",\n  \"courseGroupEmail\": \"\",\n  \"courseMaterialSets\": [\n    {\n      \"materials\": [\n        {\n          \"driveFile\": {\n            \"alternateLink\": \"\",\n            \"id\": \"\",\n            \"thumbnailUrl\": \"\",\n            \"title\": \"\"\n          },\n          \"form\": {\n            \"formUrl\": \"\",\n            \"responseUrl\": \"\",\n            \"thumbnailUrl\": \"\",\n            \"title\": \"\"\n          },\n          \"link\": {\n            \"thumbnailUrl\": \"\",\n            \"title\": \"\",\n            \"url\": \"\"\n          },\n          \"youTubeVideo\": {\n            \"alternateLink\": \"\",\n            \"id\": \"\",\n            \"thumbnailUrl\": \"\",\n            \"title\": \"\"\n          }\n        }\n      ],\n      \"title\": \"\"\n    }\n  ],\n  \"courseState\": \"\",\n  \"creationTime\": \"\",\n  \"description\": \"\",\n  \"descriptionHeading\": \"\",\n  \"enrollmentCode\": \"\",\n  \"gradebookSettings\": {\n    \"calculationType\": \"\",\n    \"displaySetting\": \"\",\n    \"gradeCategories\": [\n      {\n        \"defaultGradeDenominator\": 0,\n        \"id\": \"\",\n        \"name\": \"\",\n        \"weight\": 0\n      }\n    ]\n  },\n  \"guardiansEnabled\": false,\n  \"id\": \"\",\n  \"name\": \"\",\n  \"ownerId\": \"\",\n  \"room\": \"\",\n  \"section\": \"\",\n  \"teacherFolder\": {\n    \"alternateLink\": \"\",\n    \"id\": \"\",\n    \"title\": \"\"\n  },\n  \"teacherGroupEmail\": \"\",\n  \"updateTime\": \"\"\n}"
end

puts response.status
puts response.body
use serde_json::json;
use reqwest;

#[tokio::main]
pub async fn main() {
    let url = "{{baseUrl}}/v1/courses";

    let payload = json!({
        "alternateLink": "",
        "calendarId": "",
        "courseGroupEmail": "",
        "courseMaterialSets": (
            json!({
                "materials": (
                    json!({
                        "driveFile": json!({
                            "alternateLink": "",
                            "id": "",
                            "thumbnailUrl": "",
                            "title": ""
                        }),
                        "form": json!({
                            "formUrl": "",
                            "responseUrl": "",
                            "thumbnailUrl": "",
                            "title": ""
                        }),
                        "link": json!({
                            "thumbnailUrl": "",
                            "title": "",
                            "url": ""
                        }),
                        "youTubeVideo": json!({
                            "alternateLink": "",
                            "id": "",
                            "thumbnailUrl": "",
                            "title": ""
                        })
                    })
                ),
                "title": ""
            })
        ),
        "courseState": "",
        "creationTime": "",
        "description": "",
        "descriptionHeading": "",
        "enrollmentCode": "",
        "gradebookSettings": json!({
            "calculationType": "",
            "displaySetting": "",
            "gradeCategories": (
                json!({
                    "defaultGradeDenominator": 0,
                    "id": "",
                    "name": "",
                    "weight": 0
                })
            )
        }),
        "guardiansEnabled": false,
        "id": "",
        "name": "",
        "ownerId": "",
        "room": "",
        "section": "",
        "teacherFolder": json!({
            "alternateLink": "",
            "id": "",
            "title": ""
        }),
        "teacherGroupEmail": "",
        "updateTime": ""
    });

    let mut headers = reqwest::header::HeaderMap::new();
    headers.insert("content-type", "application/json".parse().unwrap());

    let client = reqwest::Client::new();
    let response = client.post(url)
        .headers(headers)
        .json(&payload)
        .send()
        .await;

    let results = response.unwrap()
        .json::()
        .await
        .unwrap();

    dbg!(results);
}
curl --request POST \
  --url {{baseUrl}}/v1/courses \
  --header 'content-type: application/json' \
  --data '{
  "alternateLink": "",
  "calendarId": "",
  "courseGroupEmail": "",
  "courseMaterialSets": [
    {
      "materials": [
        {
          "driveFile": {
            "alternateLink": "",
            "id": "",
            "thumbnailUrl": "",
            "title": ""
          },
          "form": {
            "formUrl": "",
            "responseUrl": "",
            "thumbnailUrl": "",
            "title": ""
          },
          "link": {
            "thumbnailUrl": "",
            "title": "",
            "url": ""
          },
          "youTubeVideo": {
            "alternateLink": "",
            "id": "",
            "thumbnailUrl": "",
            "title": ""
          }
        }
      ],
      "title": ""
    }
  ],
  "courseState": "",
  "creationTime": "",
  "description": "",
  "descriptionHeading": "",
  "enrollmentCode": "",
  "gradebookSettings": {
    "calculationType": "",
    "displaySetting": "",
    "gradeCategories": [
      {
        "defaultGradeDenominator": 0,
        "id": "",
        "name": "",
        "weight": 0
      }
    ]
  },
  "guardiansEnabled": false,
  "id": "",
  "name": "",
  "ownerId": "",
  "room": "",
  "section": "",
  "teacherFolder": {
    "alternateLink": "",
    "id": "",
    "title": ""
  },
  "teacherGroupEmail": "",
  "updateTime": ""
}'
echo '{
  "alternateLink": "",
  "calendarId": "",
  "courseGroupEmail": "",
  "courseMaterialSets": [
    {
      "materials": [
        {
          "driveFile": {
            "alternateLink": "",
            "id": "",
            "thumbnailUrl": "",
            "title": ""
          },
          "form": {
            "formUrl": "",
            "responseUrl": "",
            "thumbnailUrl": "",
            "title": ""
          },
          "link": {
            "thumbnailUrl": "",
            "title": "",
            "url": ""
          },
          "youTubeVideo": {
            "alternateLink": "",
            "id": "",
            "thumbnailUrl": "",
            "title": ""
          }
        }
      ],
      "title": ""
    }
  ],
  "courseState": "",
  "creationTime": "",
  "description": "",
  "descriptionHeading": "",
  "enrollmentCode": "",
  "gradebookSettings": {
    "calculationType": "",
    "displaySetting": "",
    "gradeCategories": [
      {
        "defaultGradeDenominator": 0,
        "id": "",
        "name": "",
        "weight": 0
      }
    ]
  },
  "guardiansEnabled": false,
  "id": "",
  "name": "",
  "ownerId": "",
  "room": "",
  "section": "",
  "teacherFolder": {
    "alternateLink": "",
    "id": "",
    "title": ""
  },
  "teacherGroupEmail": "",
  "updateTime": ""
}' |  \
  http POST {{baseUrl}}/v1/courses \
  content-type:application/json
wget --quiet \
  --method POST \
  --header 'content-type: application/json' \
  --body-data '{\n  "alternateLink": "",\n  "calendarId": "",\n  "courseGroupEmail": "",\n  "courseMaterialSets": [\n    {\n      "materials": [\n        {\n          "driveFile": {\n            "alternateLink": "",\n            "id": "",\n            "thumbnailUrl": "",\n            "title": ""\n          },\n          "form": {\n            "formUrl": "",\n            "responseUrl": "",\n            "thumbnailUrl": "",\n            "title": ""\n          },\n          "link": {\n            "thumbnailUrl": "",\n            "title": "",\n            "url": ""\n          },\n          "youTubeVideo": {\n            "alternateLink": "",\n            "id": "",\n            "thumbnailUrl": "",\n            "title": ""\n          }\n        }\n      ],\n      "title": ""\n    }\n  ],\n  "courseState": "",\n  "creationTime": "",\n  "description": "",\n  "descriptionHeading": "",\n  "enrollmentCode": "",\n  "gradebookSettings": {\n    "calculationType": "",\n    "displaySetting": "",\n    "gradeCategories": [\n      {\n        "defaultGradeDenominator": 0,\n        "id": "",\n        "name": "",\n        "weight": 0\n      }\n    ]\n  },\n  "guardiansEnabled": false,\n  "id": "",\n  "name": "",\n  "ownerId": "",\n  "room": "",\n  "section": "",\n  "teacherFolder": {\n    "alternateLink": "",\n    "id": "",\n    "title": ""\n  },\n  "teacherGroupEmail": "",\n  "updateTime": ""\n}' \
  --output-document \
  - {{baseUrl}}/v1/courses
import Foundation

let headers = ["content-type": "application/json"]
let parameters = [
  "alternateLink": "",
  "calendarId": "",
  "courseGroupEmail": "",
  "courseMaterialSets": [
    [
      "materials": [
        [
          "driveFile": [
            "alternateLink": "",
            "id": "",
            "thumbnailUrl": "",
            "title": ""
          ],
          "form": [
            "formUrl": "",
            "responseUrl": "",
            "thumbnailUrl": "",
            "title": ""
          ],
          "link": [
            "thumbnailUrl": "",
            "title": "",
            "url": ""
          ],
          "youTubeVideo": [
            "alternateLink": "",
            "id": "",
            "thumbnailUrl": "",
            "title": ""
          ]
        ]
      ],
      "title": ""
    ]
  ],
  "courseState": "",
  "creationTime": "",
  "description": "",
  "descriptionHeading": "",
  "enrollmentCode": "",
  "gradebookSettings": [
    "calculationType": "",
    "displaySetting": "",
    "gradeCategories": [
      [
        "defaultGradeDenominator": 0,
        "id": "",
        "name": "",
        "weight": 0
      ]
    ]
  ],
  "guardiansEnabled": false,
  "id": "",
  "name": "",
  "ownerId": "",
  "room": "",
  "section": "",
  "teacherFolder": [
    "alternateLink": "",
    "id": "",
    "title": ""
  ],
  "teacherGroupEmail": "",
  "updateTime": ""
] as [String : Any]

let postData = JSONSerialization.data(withJSONObject: parameters, options: [])

let request = NSMutableURLRequest(url: NSURL(string: "{{baseUrl}}/v1/courses")! 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()
DELETE classroom.courses.delete
{{baseUrl}}/v1/courses/:id
QUERY PARAMS

id
Examples
REQUEST

CURL *hnd = curl_easy_init();

curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "DELETE");
curl_easy_setopt(hnd, CURLOPT_URL, "{{baseUrl}}/v1/courses/:id");

CURLcode ret = curl_easy_perform(hnd);
(require '[clj-http.client :as client])

(client/delete "{{baseUrl}}/v1/courses/:id")
require "http/client"

url = "{{baseUrl}}/v1/courses/:id"

response = HTTP::Client.delete url
puts response.body
using System.Net.Http.Headers;
var client = new HttpClient();
var request = new HttpRequestMessage
{
    Method = HttpMethod.Delete,
    RequestUri = new Uri("{{baseUrl}}/v1/courses/:id"),
};
using (var response = await client.SendAsync(request))
{
    response.EnsureSuccessStatusCode();
    var body = await response.Content.ReadAsStringAsync();
    Console.WriteLine(body);
}
var client = new RestClient("{{baseUrl}}/v1/courses/:id");
var request = new RestRequest("", Method.Delete);
var response = client.Execute(request);
package main

import (
	"fmt"
	"net/http"
	"io"
)

func main() {

	url := "{{baseUrl}}/v1/courses/:id"

	req, _ := http.NewRequest("DELETE", url, nil)

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
DELETE /baseUrl/v1/courses/:id HTTP/1.1
Host: example.com

AsyncHttpClient client = new DefaultAsyncHttpClient();
client.prepare("DELETE", "{{baseUrl}}/v1/courses/:id")
  .execute()
  .toCompletableFuture()
  .thenAccept(System.out::println)
  .join();

client.close();
HttpRequest request = HttpRequest.newBuilder()
    .uri(URI.create("{{baseUrl}}/v1/courses/:id"))
    .method("DELETE", 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}}/v1/courses/:id")
  .delete(null)
  .build();

Response response = client.newCall(request).execute();
HttpResponse response = Unirest.delete("{{baseUrl}}/v1/courses/:id")
  .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('DELETE', '{{baseUrl}}/v1/courses/:id');

xhr.send(data);
import axios from 'axios';

const options = {method: 'DELETE', url: '{{baseUrl}}/v1/courses/:id'};

try {
  const { data } = await axios.request(options);
  console.log(data);
} catch (error) {
  console.error(error);
}
const url = '{{baseUrl}}/v1/courses/:id';
const options = {method: 'DELETE'};

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}}/v1/courses/:id',
  method: 'DELETE',
  headers: {}
};

$.ajax(settings).done(function (response) {
  console.log(response);
});
val client = OkHttpClient()

val request = Request.Builder()
  .url("{{baseUrl}}/v1/courses/:id")
  .delete(null)
  .build()

val response = client.newCall(request).execute()
const http = require('https');

const options = {
  method: 'DELETE',
  hostname: 'example.com',
  port: null,
  path: '/baseUrl/v1/courses/:id',
  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: 'DELETE', url: '{{baseUrl}}/v1/courses/:id'};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
const unirest = require('unirest');

const req = unirest('DELETE', '{{baseUrl}}/v1/courses/:id');

req.end(function (res) {
  if (res.error) throw new Error(res.error);

  console.log(res.body);
});
const axios = require('axios').default;

const options = {method: 'DELETE', url: '{{baseUrl}}/v1/courses/:id'};

try {
  const { data } = await axios.request(options);
  console.log(data);
} catch (error) {
  console.error(error);
}
const fetch = require('node-fetch');

const url = '{{baseUrl}}/v1/courses/:id';
const options = {method: 'DELETE'};

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}}/v1/courses/:id"]
                                                       cachePolicy:NSURLRequestUseProtocolCachePolicy
                                                   timeoutInterval:10.0];
[request setHTTPMethod:@"DELETE"];

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}}/v1/courses/:id" in

Client.call `DELETE uri
>>= fun (res, body_stream) ->
  (* Do stuff with the result *)
 "{{baseUrl}}/v1/courses/:id",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "DELETE",
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
request('DELETE', '{{baseUrl}}/v1/courses/:id');

echo $response->getBody();
setUrl('{{baseUrl}}/v1/courses/:id');
$request->setMethod(HTTP_METH_DELETE);

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
setRequestUrl('{{baseUrl}}/v1/courses/:id');
$request->setRequestMethod('DELETE');
$client->enqueue($request)->send();
$response = $client->getResponse();

echo $response->getBody();
$response = Invoke-WebRequest -Uri '{{baseUrl}}/v1/courses/:id' -Method DELETE 
$response = Invoke-RestMethod -Uri '{{baseUrl}}/v1/courses/:id' -Method DELETE 
import http.client

conn = http.client.HTTPSConnection("example.com")

conn.request("DELETE", "/baseUrl/v1/courses/:id")

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))
import requests

url = "{{baseUrl}}/v1/courses/:id"

response = requests.delete(url)

print(response.json())
library(httr)

url <- "{{baseUrl}}/v1/courses/:id"

response <- VERB("DELETE", url, content_type("application/octet-stream"))

content(response, "text")
require 'uri'
require 'net/http'

url = URI("{{baseUrl}}/v1/courses/:id")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Delete.new(url)

response = http.request(request)
puts response.read_body
require 'faraday'

conn = Faraday.new(
  url: 'https://example.com',
)

response = conn.delete('/baseUrl/v1/courses/:id') do |req|
end

puts response.status
puts response.body
use std::str::FromStr;
use reqwest;

#[tokio::main]
pub async fn main() {
    let url = "{{baseUrl}}/v1/courses/:id";

    let client = reqwest::Client::new();
    let response = client.request(reqwest::Method::from_str("DELETE").unwrap(), url)
        .send()
        .await;

    let results = response.unwrap()
        .json::()
        .await
        .unwrap();

    dbg!(results);
}
curl --request DELETE \
  --url {{baseUrl}}/v1/courses/:id
http DELETE {{baseUrl}}/v1/courses/:id
wget --quiet \
  --method DELETE \
  --output-document \
  - {{baseUrl}}/v1/courses/:id
import Foundation

let request = NSMutableURLRequest(url: NSURL(string: "{{baseUrl}}/v1/courses/:id")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "DELETE"

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 classroom.courses.get
{{baseUrl}}/v1/courses/:id
QUERY PARAMS

id
Examples
REQUEST

CURL *hnd = curl_easy_init();

curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET");
curl_easy_setopt(hnd, CURLOPT_URL, "{{baseUrl}}/v1/courses/:id");

CURLcode ret = curl_easy_perform(hnd);
(require '[clj-http.client :as client])

(client/get "{{baseUrl}}/v1/courses/:id")
require "http/client"

url = "{{baseUrl}}/v1/courses/:id"

response = HTTP::Client.get url
puts response.body
using System.Net.Http.Headers;
var client = new HttpClient();
var request = new HttpRequestMessage
{
    Method = HttpMethod.Get,
    RequestUri = new Uri("{{baseUrl}}/v1/courses/:id"),
};
using (var response = await client.SendAsync(request))
{
    response.EnsureSuccessStatusCode();
    var body = await response.Content.ReadAsStringAsync();
    Console.WriteLine(body);
}
var client = new RestClient("{{baseUrl}}/v1/courses/:id");
var request = new RestRequest("", Method.Get);
var response = client.Execute(request);
package main

import (
	"fmt"
	"net/http"
	"io"
)

func main() {

	url := "{{baseUrl}}/v1/courses/:id"

	req, _ := http.NewRequest("GET", url, nil)

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
GET /baseUrl/v1/courses/:id HTTP/1.1
Host: example.com

AsyncHttpClient client = new DefaultAsyncHttpClient();
client.prepare("GET", "{{baseUrl}}/v1/courses/:id")
  .execute()
  .toCompletableFuture()
  .thenAccept(System.out::println)
  .join();

client.close();
HttpRequest request = HttpRequest.newBuilder()
    .uri(URI.create("{{baseUrl}}/v1/courses/:id"))
    .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}}/v1/courses/:id")
  .get()
  .build();

Response response = client.newCall(request).execute();
HttpResponse response = Unirest.get("{{baseUrl}}/v1/courses/:id")
  .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}}/v1/courses/:id');

xhr.send(data);
import axios from 'axios';

const options = {method: 'GET', url: '{{baseUrl}}/v1/courses/:id'};

try {
  const { data } = await axios.request(options);
  console.log(data);
} catch (error) {
  console.error(error);
}
const url = '{{baseUrl}}/v1/courses/:id';
const options = {method: 'GET'};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
const settings = {
  async: true,
  crossDomain: true,
  url: '{{baseUrl}}/v1/courses/:id',
  method: 'GET',
  headers: {}
};

$.ajax(settings).done(function (response) {
  console.log(response);
});
val client = OkHttpClient()

val request = Request.Builder()
  .url("{{baseUrl}}/v1/courses/:id")
  .get()
  .build()

val response = client.newCall(request).execute()
const http = require('https');

const options = {
  method: 'GET',
  hostname: 'example.com',
  port: null,
  path: '/baseUrl/v1/courses/:id',
  headers: {}
};

const req = http.request(options, function (res) {
  const chunks = [];

  res.on('data', function (chunk) {
    chunks.push(chunk);
  });

  res.on('end', function () {
    const body = Buffer.concat(chunks);
    console.log(body.toString());
  });
});

req.end();
const request = require('request');

const options = {method: 'GET', url: '{{baseUrl}}/v1/courses/:id'};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
const unirest = require('unirest');

const req = unirest('GET', '{{baseUrl}}/v1/courses/:id');

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}}/v1/courses/:id'};

try {
  const { data } = await axios.request(options);
  console.log(data);
} catch (error) {
  console.error(error);
}
const fetch = require('node-fetch');

const url = '{{baseUrl}}/v1/courses/:id';
const options = {method: 'GET'};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
#import 

NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"{{baseUrl}}/v1/courses/:id"]
                                                       cachePolicy:NSURLRequestUseProtocolCachePolicy
                                                   timeoutInterval:10.0];
[request setHTTPMethod:@"GET"];

NSURLSession *session = [NSURLSession sharedSession];
NSURLSessionDataTask *dataTask = [session dataTaskWithRequest:request
                                            completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
                                                if (error) {
                                                    NSLog(@"%@", error);
                                                } else {
                                                    NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse *) response;
                                                    NSLog(@"%@", httpResponse);
                                                }
                                            }];
[dataTask resume];
open Cohttp_lwt_unix
open Cohttp
open Lwt

let uri = Uri.of_string "{{baseUrl}}/v1/courses/:id" in

Client.call `GET uri
>>= fun (res, body_stream) ->
  (* Do stuff with the result *)
 "{{baseUrl}}/v1/courses/:id",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "GET",
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
request('GET', '{{baseUrl}}/v1/courses/:id');

echo $response->getBody();
setUrl('{{baseUrl}}/v1/courses/:id');
$request->setMethod(HTTP_METH_GET);

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
setRequestUrl('{{baseUrl}}/v1/courses/:id');
$request->setRequestMethod('GET');
$client->enqueue($request)->send();
$response = $client->getResponse();

echo $response->getBody();
$response = Invoke-WebRequest -Uri '{{baseUrl}}/v1/courses/:id' -Method GET 
$response = Invoke-RestMethod -Uri '{{baseUrl}}/v1/courses/:id' -Method GET 
import http.client

conn = http.client.HTTPSConnection("example.com")

conn.request("GET", "/baseUrl/v1/courses/:id")

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))
import requests

url = "{{baseUrl}}/v1/courses/:id"

response = requests.get(url)

print(response.json())
library(httr)

url <- "{{baseUrl}}/v1/courses/:id"

response <- VERB("GET", url, content_type("application/octet-stream"))

content(response, "text")
require 'uri'
require 'net/http'

url = URI("{{baseUrl}}/v1/courses/:id")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
require 'faraday'

conn = Faraday.new(
  url: 'https://example.com',
)

response = conn.get('/baseUrl/v1/courses/:id') do |req|
end

puts response.status
puts response.body
use reqwest;

#[tokio::main]
pub async fn main() {
    let url = "{{baseUrl}}/v1/courses/:id";

    let client = reqwest::Client::new();
    let response = client.get(url)
        .send()
        .await;

    let results = response.unwrap()
        .json::()
        .await
        .unwrap();

    dbg!(results);
}
curl --request GET \
  --url {{baseUrl}}/v1/courses/:id
http GET {{baseUrl}}/v1/courses/:id
wget --quiet \
  --method GET \
  --output-document \
  - {{baseUrl}}/v1/courses/:id
import Foundation

let request = NSMutableURLRequest(url: NSURL(string: "{{baseUrl}}/v1/courses/:id")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error as Any)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
GET classroom.courses.list
{{baseUrl}}/v1/courses
Examples
REQUEST

CURL *hnd = curl_easy_init();

curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET");
curl_easy_setopt(hnd, CURLOPT_URL, "{{baseUrl}}/v1/courses");

CURLcode ret = curl_easy_perform(hnd);
(require '[clj-http.client :as client])

(client/get "{{baseUrl}}/v1/courses")
require "http/client"

url = "{{baseUrl}}/v1/courses"

response = HTTP::Client.get url
puts response.body
using System.Net.Http.Headers;
var client = new HttpClient();
var request = new HttpRequestMessage
{
    Method = HttpMethod.Get,
    RequestUri = new Uri("{{baseUrl}}/v1/courses"),
};
using (var response = await client.SendAsync(request))
{
    response.EnsureSuccessStatusCode();
    var body = await response.Content.ReadAsStringAsync();
    Console.WriteLine(body);
}
var client = new RestClient("{{baseUrl}}/v1/courses");
var request = new RestRequest("", Method.Get);
var response = client.Execute(request);
package main

import (
	"fmt"
	"net/http"
	"io"
)

func main() {

	url := "{{baseUrl}}/v1/courses"

	req, _ := http.NewRequest("GET", url, nil)

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
GET /baseUrl/v1/courses HTTP/1.1
Host: example.com

AsyncHttpClient client = new DefaultAsyncHttpClient();
client.prepare("GET", "{{baseUrl}}/v1/courses")
  .execute()
  .toCompletableFuture()
  .thenAccept(System.out::println)
  .join();

client.close();
HttpRequest request = HttpRequest.newBuilder()
    .uri(URI.create("{{baseUrl}}/v1/courses"))
    .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}}/v1/courses")
  .get()
  .build();

Response response = client.newCall(request).execute();
HttpResponse response = Unirest.get("{{baseUrl}}/v1/courses")
  .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}}/v1/courses');

xhr.send(data);
import axios from 'axios';

const options = {method: 'GET', url: '{{baseUrl}}/v1/courses'};

try {
  const { data } = await axios.request(options);
  console.log(data);
} catch (error) {
  console.error(error);
}
const url = '{{baseUrl}}/v1/courses';
const options = {method: 'GET'};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
const settings = {
  async: true,
  crossDomain: true,
  url: '{{baseUrl}}/v1/courses',
  method: 'GET',
  headers: {}
};

$.ajax(settings).done(function (response) {
  console.log(response);
});
val client = OkHttpClient()

val request = Request.Builder()
  .url("{{baseUrl}}/v1/courses")
  .get()
  .build()

val response = client.newCall(request).execute()
const http = require('https');

const options = {
  method: 'GET',
  hostname: 'example.com',
  port: null,
  path: '/baseUrl/v1/courses',
  headers: {}
};

const req = http.request(options, function (res) {
  const chunks = [];

  res.on('data', function (chunk) {
    chunks.push(chunk);
  });

  res.on('end', function () {
    const body = Buffer.concat(chunks);
    console.log(body.toString());
  });
});

req.end();
const request = require('request');

const options = {method: 'GET', url: '{{baseUrl}}/v1/courses'};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
const unirest = require('unirest');

const req = unirest('GET', '{{baseUrl}}/v1/courses');

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}}/v1/courses'};

try {
  const { data } = await axios.request(options);
  console.log(data);
} catch (error) {
  console.error(error);
}
const fetch = require('node-fetch');

const url = '{{baseUrl}}/v1/courses';
const options = {method: 'GET'};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
#import 

NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"{{baseUrl}}/v1/courses"]
                                                       cachePolicy:NSURLRequestUseProtocolCachePolicy
                                                   timeoutInterval:10.0];
[request setHTTPMethod:@"GET"];

NSURLSession *session = [NSURLSession sharedSession];
NSURLSessionDataTask *dataTask = [session dataTaskWithRequest:request
                                            completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
                                                if (error) {
                                                    NSLog(@"%@", error);
                                                } else {
                                                    NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse *) response;
                                                    NSLog(@"%@", httpResponse);
                                                }
                                            }];
[dataTask resume];
open Cohttp_lwt_unix
open Cohttp
open Lwt

let uri = Uri.of_string "{{baseUrl}}/v1/courses" in

Client.call `GET uri
>>= fun (res, body_stream) ->
  (* Do stuff with the result *)
 "{{baseUrl}}/v1/courses",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "GET",
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
request('GET', '{{baseUrl}}/v1/courses');

echo $response->getBody();
setUrl('{{baseUrl}}/v1/courses');
$request->setMethod(HTTP_METH_GET);

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
setRequestUrl('{{baseUrl}}/v1/courses');
$request->setRequestMethod('GET');
$client->enqueue($request)->send();
$response = $client->getResponse();

echo $response->getBody();
$response = Invoke-WebRequest -Uri '{{baseUrl}}/v1/courses' -Method GET 
$response = Invoke-RestMethod -Uri '{{baseUrl}}/v1/courses' -Method GET 
import http.client

conn = http.client.HTTPSConnection("example.com")

conn.request("GET", "/baseUrl/v1/courses")

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))
import requests

url = "{{baseUrl}}/v1/courses"

response = requests.get(url)

print(response.json())
library(httr)

url <- "{{baseUrl}}/v1/courses"

response <- VERB("GET", url, content_type("application/octet-stream"))

content(response, "text")
require 'uri'
require 'net/http'

url = URI("{{baseUrl}}/v1/courses")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
require 'faraday'

conn = Faraday.new(
  url: 'https://example.com',
)

response = conn.get('/baseUrl/v1/courses') do |req|
end

puts response.status
puts response.body
use reqwest;

#[tokio::main]
pub async fn main() {
    let url = "{{baseUrl}}/v1/courses";

    let client = reqwest::Client::new();
    let response = client.get(url)
        .send()
        .await;

    let results = response.unwrap()
        .json::()
        .await
        .unwrap();

    dbg!(results);
}
curl --request GET \
  --url {{baseUrl}}/v1/courses
http GET {{baseUrl}}/v1/courses
wget --quiet \
  --method GET \
  --output-document \
  - {{baseUrl}}/v1/courses
import Foundation

let request = NSMutableURLRequest(url: NSURL(string: "{{baseUrl}}/v1/courses")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error as Any)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
PATCH classroom.courses.patch
{{baseUrl}}/v1/courses/:id
QUERY PARAMS

id
BODY json

{
  "alternateLink": "",
  "calendarId": "",
  "courseGroupEmail": "",
  "courseMaterialSets": [
    {
      "materials": [
        {
          "driveFile": {
            "alternateLink": "",
            "id": "",
            "thumbnailUrl": "",
            "title": ""
          },
          "form": {
            "formUrl": "",
            "responseUrl": "",
            "thumbnailUrl": "",
            "title": ""
          },
          "link": {
            "thumbnailUrl": "",
            "title": "",
            "url": ""
          },
          "youTubeVideo": {
            "alternateLink": "",
            "id": "",
            "thumbnailUrl": "",
            "title": ""
          }
        }
      ],
      "title": ""
    }
  ],
  "courseState": "",
  "creationTime": "",
  "description": "",
  "descriptionHeading": "",
  "enrollmentCode": "",
  "gradebookSettings": {
    "calculationType": "",
    "displaySetting": "",
    "gradeCategories": [
      {
        "defaultGradeDenominator": 0,
        "id": "",
        "name": "",
        "weight": 0
      }
    ]
  },
  "guardiansEnabled": false,
  "id": "",
  "name": "",
  "ownerId": "",
  "room": "",
  "section": "",
  "teacherFolder": {
    "alternateLink": "",
    "id": "",
    "title": ""
  },
  "teacherGroupEmail": "",
  "updateTime": ""
}
Examples
REQUEST

CURL *hnd = curl_easy_init();

curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "PATCH");
curl_easy_setopt(hnd, CURLOPT_URL, "{{baseUrl}}/v1/courses/:id");

struct curl_slist *headers = NULL;
headers = curl_slist_append(headers, "content-type: application/json");
curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers);

curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\n  \"alternateLink\": \"\",\n  \"calendarId\": \"\",\n  \"courseGroupEmail\": \"\",\n  \"courseMaterialSets\": [\n    {\n      \"materials\": [\n        {\n          \"driveFile\": {\n            \"alternateLink\": \"\",\n            \"id\": \"\",\n            \"thumbnailUrl\": \"\",\n            \"title\": \"\"\n          },\n          \"form\": {\n            \"formUrl\": \"\",\n            \"responseUrl\": \"\",\n            \"thumbnailUrl\": \"\",\n            \"title\": \"\"\n          },\n          \"link\": {\n            \"thumbnailUrl\": \"\",\n            \"title\": \"\",\n            \"url\": \"\"\n          },\n          \"youTubeVideo\": {\n            \"alternateLink\": \"\",\n            \"id\": \"\",\n            \"thumbnailUrl\": \"\",\n            \"title\": \"\"\n          }\n        }\n      ],\n      \"title\": \"\"\n    }\n  ],\n  \"courseState\": \"\",\n  \"creationTime\": \"\",\n  \"description\": \"\",\n  \"descriptionHeading\": \"\",\n  \"enrollmentCode\": \"\",\n  \"gradebookSettings\": {\n    \"calculationType\": \"\",\n    \"displaySetting\": \"\",\n    \"gradeCategories\": [\n      {\n        \"defaultGradeDenominator\": 0,\n        \"id\": \"\",\n        \"name\": \"\",\n        \"weight\": 0\n      }\n    ]\n  },\n  \"guardiansEnabled\": false,\n  \"id\": \"\",\n  \"name\": \"\",\n  \"ownerId\": \"\",\n  \"room\": \"\",\n  \"section\": \"\",\n  \"teacherFolder\": {\n    \"alternateLink\": \"\",\n    \"id\": \"\",\n    \"title\": \"\"\n  },\n  \"teacherGroupEmail\": \"\",\n  \"updateTime\": \"\"\n}");

CURLcode ret = curl_easy_perform(hnd);
(require '[clj-http.client :as client])

(client/patch "{{baseUrl}}/v1/courses/:id" {:content-type :json
                                                            :form-params {:alternateLink ""
                                                                          :calendarId ""
                                                                          :courseGroupEmail ""
                                                                          :courseMaterialSets [{:materials [{:driveFile {:alternateLink ""
                                                                                                                         :id ""
                                                                                                                         :thumbnailUrl ""
                                                                                                                         :title ""}
                                                                                                             :form {:formUrl ""
                                                                                                                    :responseUrl ""
                                                                                                                    :thumbnailUrl ""
                                                                                                                    :title ""}
                                                                                                             :link {:thumbnailUrl ""
                                                                                                                    :title ""
                                                                                                                    :url ""}
                                                                                                             :youTubeVideo {:alternateLink ""
                                                                                                                            :id ""
                                                                                                                            :thumbnailUrl ""
                                                                                                                            :title ""}}]
                                                                                                :title ""}]
                                                                          :courseState ""
                                                                          :creationTime ""
                                                                          :description ""
                                                                          :descriptionHeading ""
                                                                          :enrollmentCode ""
                                                                          :gradebookSettings {:calculationType ""
                                                                                              :displaySetting ""
                                                                                              :gradeCategories [{:defaultGradeDenominator 0
                                                                                                                 :id ""
                                                                                                                 :name ""
                                                                                                                 :weight 0}]}
                                                                          :guardiansEnabled false
                                                                          :id ""
                                                                          :name ""
                                                                          :ownerId ""
                                                                          :room ""
                                                                          :section ""
                                                                          :teacherFolder {:alternateLink ""
                                                                                          :id ""
                                                                                          :title ""}
                                                                          :teacherGroupEmail ""
                                                                          :updateTime ""}})
require "http/client"

url = "{{baseUrl}}/v1/courses/:id"
headers = HTTP::Headers{
  "content-type" => "application/json"
}
reqBody = "{\n  \"alternateLink\": \"\",\n  \"calendarId\": \"\",\n  \"courseGroupEmail\": \"\",\n  \"courseMaterialSets\": [\n    {\n      \"materials\": [\n        {\n          \"driveFile\": {\n            \"alternateLink\": \"\",\n            \"id\": \"\",\n            \"thumbnailUrl\": \"\",\n            \"title\": \"\"\n          },\n          \"form\": {\n            \"formUrl\": \"\",\n            \"responseUrl\": \"\",\n            \"thumbnailUrl\": \"\",\n            \"title\": \"\"\n          },\n          \"link\": {\n            \"thumbnailUrl\": \"\",\n            \"title\": \"\",\n            \"url\": \"\"\n          },\n          \"youTubeVideo\": {\n            \"alternateLink\": \"\",\n            \"id\": \"\",\n            \"thumbnailUrl\": \"\",\n            \"title\": \"\"\n          }\n        }\n      ],\n      \"title\": \"\"\n    }\n  ],\n  \"courseState\": \"\",\n  \"creationTime\": \"\",\n  \"description\": \"\",\n  \"descriptionHeading\": \"\",\n  \"enrollmentCode\": \"\",\n  \"gradebookSettings\": {\n    \"calculationType\": \"\",\n    \"displaySetting\": \"\",\n    \"gradeCategories\": [\n      {\n        \"defaultGradeDenominator\": 0,\n        \"id\": \"\",\n        \"name\": \"\",\n        \"weight\": 0\n      }\n    ]\n  },\n  \"guardiansEnabled\": false,\n  \"id\": \"\",\n  \"name\": \"\",\n  \"ownerId\": \"\",\n  \"room\": \"\",\n  \"section\": \"\",\n  \"teacherFolder\": {\n    \"alternateLink\": \"\",\n    \"id\": \"\",\n    \"title\": \"\"\n  },\n  \"teacherGroupEmail\": \"\",\n  \"updateTime\": \"\"\n}"

response = HTTP::Client.patch url, headers: headers, body: reqBody
puts response.body
using System.Net.Http.Headers;
var client = new HttpClient();
var request = new HttpRequestMessage
{
    Method = HttpMethod.Patch,
    RequestUri = new Uri("{{baseUrl}}/v1/courses/:id"),
    Content = new StringContent("{\n  \"alternateLink\": \"\",\n  \"calendarId\": \"\",\n  \"courseGroupEmail\": \"\",\n  \"courseMaterialSets\": [\n    {\n      \"materials\": [\n        {\n          \"driveFile\": {\n            \"alternateLink\": \"\",\n            \"id\": \"\",\n            \"thumbnailUrl\": \"\",\n            \"title\": \"\"\n          },\n          \"form\": {\n            \"formUrl\": \"\",\n            \"responseUrl\": \"\",\n            \"thumbnailUrl\": \"\",\n            \"title\": \"\"\n          },\n          \"link\": {\n            \"thumbnailUrl\": \"\",\n            \"title\": \"\",\n            \"url\": \"\"\n          },\n          \"youTubeVideo\": {\n            \"alternateLink\": \"\",\n            \"id\": \"\",\n            \"thumbnailUrl\": \"\",\n            \"title\": \"\"\n          }\n        }\n      ],\n      \"title\": \"\"\n    }\n  ],\n  \"courseState\": \"\",\n  \"creationTime\": \"\",\n  \"description\": \"\",\n  \"descriptionHeading\": \"\",\n  \"enrollmentCode\": \"\",\n  \"gradebookSettings\": {\n    \"calculationType\": \"\",\n    \"displaySetting\": \"\",\n    \"gradeCategories\": [\n      {\n        \"defaultGradeDenominator\": 0,\n        \"id\": \"\",\n        \"name\": \"\",\n        \"weight\": 0\n      }\n    ]\n  },\n  \"guardiansEnabled\": false,\n  \"id\": \"\",\n  \"name\": \"\",\n  \"ownerId\": \"\",\n  \"room\": \"\",\n  \"section\": \"\",\n  \"teacherFolder\": {\n    \"alternateLink\": \"\",\n    \"id\": \"\",\n    \"title\": \"\"\n  },\n  \"teacherGroupEmail\": \"\",\n  \"updateTime\": \"\"\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}}/v1/courses/:id");
var request = new RestRequest("", Method.Patch);
request.AddHeader("content-type", "application/json");
request.AddParameter("application/json", "{\n  \"alternateLink\": \"\",\n  \"calendarId\": \"\",\n  \"courseGroupEmail\": \"\",\n  \"courseMaterialSets\": [\n    {\n      \"materials\": [\n        {\n          \"driveFile\": {\n            \"alternateLink\": \"\",\n            \"id\": \"\",\n            \"thumbnailUrl\": \"\",\n            \"title\": \"\"\n          },\n          \"form\": {\n            \"formUrl\": \"\",\n            \"responseUrl\": \"\",\n            \"thumbnailUrl\": \"\",\n            \"title\": \"\"\n          },\n          \"link\": {\n            \"thumbnailUrl\": \"\",\n            \"title\": \"\",\n            \"url\": \"\"\n          },\n          \"youTubeVideo\": {\n            \"alternateLink\": \"\",\n            \"id\": \"\",\n            \"thumbnailUrl\": \"\",\n            \"title\": \"\"\n          }\n        }\n      ],\n      \"title\": \"\"\n    }\n  ],\n  \"courseState\": \"\",\n  \"creationTime\": \"\",\n  \"description\": \"\",\n  \"descriptionHeading\": \"\",\n  \"enrollmentCode\": \"\",\n  \"gradebookSettings\": {\n    \"calculationType\": \"\",\n    \"displaySetting\": \"\",\n    \"gradeCategories\": [\n      {\n        \"defaultGradeDenominator\": 0,\n        \"id\": \"\",\n        \"name\": \"\",\n        \"weight\": 0\n      }\n    ]\n  },\n  \"guardiansEnabled\": false,\n  \"id\": \"\",\n  \"name\": \"\",\n  \"ownerId\": \"\",\n  \"room\": \"\",\n  \"section\": \"\",\n  \"teacherFolder\": {\n    \"alternateLink\": \"\",\n    \"id\": \"\",\n    \"title\": \"\"\n  },\n  \"teacherGroupEmail\": \"\",\n  \"updateTime\": \"\"\n}", ParameterType.RequestBody);
var response = client.Execute(request);
package main

import (
	"fmt"
	"strings"
	"net/http"
	"io"
)

func main() {

	url := "{{baseUrl}}/v1/courses/:id"

	payload := strings.NewReader("{\n  \"alternateLink\": \"\",\n  \"calendarId\": \"\",\n  \"courseGroupEmail\": \"\",\n  \"courseMaterialSets\": [\n    {\n      \"materials\": [\n        {\n          \"driveFile\": {\n            \"alternateLink\": \"\",\n            \"id\": \"\",\n            \"thumbnailUrl\": \"\",\n            \"title\": \"\"\n          },\n          \"form\": {\n            \"formUrl\": \"\",\n            \"responseUrl\": \"\",\n            \"thumbnailUrl\": \"\",\n            \"title\": \"\"\n          },\n          \"link\": {\n            \"thumbnailUrl\": \"\",\n            \"title\": \"\",\n            \"url\": \"\"\n          },\n          \"youTubeVideo\": {\n            \"alternateLink\": \"\",\n            \"id\": \"\",\n            \"thumbnailUrl\": \"\",\n            \"title\": \"\"\n          }\n        }\n      ],\n      \"title\": \"\"\n    }\n  ],\n  \"courseState\": \"\",\n  \"creationTime\": \"\",\n  \"description\": \"\",\n  \"descriptionHeading\": \"\",\n  \"enrollmentCode\": \"\",\n  \"gradebookSettings\": {\n    \"calculationType\": \"\",\n    \"displaySetting\": \"\",\n    \"gradeCategories\": [\n      {\n        \"defaultGradeDenominator\": 0,\n        \"id\": \"\",\n        \"name\": \"\",\n        \"weight\": 0\n      }\n    ]\n  },\n  \"guardiansEnabled\": false,\n  \"id\": \"\",\n  \"name\": \"\",\n  \"ownerId\": \"\",\n  \"room\": \"\",\n  \"section\": \"\",\n  \"teacherFolder\": {\n    \"alternateLink\": \"\",\n    \"id\": \"\",\n    \"title\": \"\"\n  },\n  \"teacherGroupEmail\": \"\",\n  \"updateTime\": \"\"\n}")

	req, _ := http.NewRequest("PATCH", url, payload)

	req.Header.Add("content-type", "application/json")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
PATCH /baseUrl/v1/courses/:id HTTP/1.1
Content-Type: application/json
Host: example.com
Content-Length: 1314

{
  "alternateLink": "",
  "calendarId": "",
  "courseGroupEmail": "",
  "courseMaterialSets": [
    {
      "materials": [
        {
          "driveFile": {
            "alternateLink": "",
            "id": "",
            "thumbnailUrl": "",
            "title": ""
          },
          "form": {
            "formUrl": "",
            "responseUrl": "",
            "thumbnailUrl": "",
            "title": ""
          },
          "link": {
            "thumbnailUrl": "",
            "title": "",
            "url": ""
          },
          "youTubeVideo": {
            "alternateLink": "",
            "id": "",
            "thumbnailUrl": "",
            "title": ""
          }
        }
      ],
      "title": ""
    }
  ],
  "courseState": "",
  "creationTime": "",
  "description": "",
  "descriptionHeading": "",
  "enrollmentCode": "",
  "gradebookSettings": {
    "calculationType": "",
    "displaySetting": "",
    "gradeCategories": [
      {
        "defaultGradeDenominator": 0,
        "id": "",
        "name": "",
        "weight": 0
      }
    ]
  },
  "guardiansEnabled": false,
  "id": "",
  "name": "",
  "ownerId": "",
  "room": "",
  "section": "",
  "teacherFolder": {
    "alternateLink": "",
    "id": "",
    "title": ""
  },
  "teacherGroupEmail": "",
  "updateTime": ""
}
AsyncHttpClient client = new DefaultAsyncHttpClient();
client.prepare("PATCH", "{{baseUrl}}/v1/courses/:id")
  .setHeader("content-type", "application/json")
  .setBody("{\n  \"alternateLink\": \"\",\n  \"calendarId\": \"\",\n  \"courseGroupEmail\": \"\",\n  \"courseMaterialSets\": [\n    {\n      \"materials\": [\n        {\n          \"driveFile\": {\n            \"alternateLink\": \"\",\n            \"id\": \"\",\n            \"thumbnailUrl\": \"\",\n            \"title\": \"\"\n          },\n          \"form\": {\n            \"formUrl\": \"\",\n            \"responseUrl\": \"\",\n            \"thumbnailUrl\": \"\",\n            \"title\": \"\"\n          },\n          \"link\": {\n            \"thumbnailUrl\": \"\",\n            \"title\": \"\",\n            \"url\": \"\"\n          },\n          \"youTubeVideo\": {\n            \"alternateLink\": \"\",\n            \"id\": \"\",\n            \"thumbnailUrl\": \"\",\n            \"title\": \"\"\n          }\n        }\n      ],\n      \"title\": \"\"\n    }\n  ],\n  \"courseState\": \"\",\n  \"creationTime\": \"\",\n  \"description\": \"\",\n  \"descriptionHeading\": \"\",\n  \"enrollmentCode\": \"\",\n  \"gradebookSettings\": {\n    \"calculationType\": \"\",\n    \"displaySetting\": \"\",\n    \"gradeCategories\": [\n      {\n        \"defaultGradeDenominator\": 0,\n        \"id\": \"\",\n        \"name\": \"\",\n        \"weight\": 0\n      }\n    ]\n  },\n  \"guardiansEnabled\": false,\n  \"id\": \"\",\n  \"name\": \"\",\n  \"ownerId\": \"\",\n  \"room\": \"\",\n  \"section\": \"\",\n  \"teacherFolder\": {\n    \"alternateLink\": \"\",\n    \"id\": \"\",\n    \"title\": \"\"\n  },\n  \"teacherGroupEmail\": \"\",\n  \"updateTime\": \"\"\n}")
  .execute()
  .toCompletableFuture()
  .thenAccept(System.out::println)
  .join();

client.close();
HttpRequest request = HttpRequest.newBuilder()
    .uri(URI.create("{{baseUrl}}/v1/courses/:id"))
    .header("content-type", "application/json")
    .method("PATCH", HttpRequest.BodyPublishers.ofString("{\n  \"alternateLink\": \"\",\n  \"calendarId\": \"\",\n  \"courseGroupEmail\": \"\",\n  \"courseMaterialSets\": [\n    {\n      \"materials\": [\n        {\n          \"driveFile\": {\n            \"alternateLink\": \"\",\n            \"id\": \"\",\n            \"thumbnailUrl\": \"\",\n            \"title\": \"\"\n          },\n          \"form\": {\n            \"formUrl\": \"\",\n            \"responseUrl\": \"\",\n            \"thumbnailUrl\": \"\",\n            \"title\": \"\"\n          },\n          \"link\": {\n            \"thumbnailUrl\": \"\",\n            \"title\": \"\",\n            \"url\": \"\"\n          },\n          \"youTubeVideo\": {\n            \"alternateLink\": \"\",\n            \"id\": \"\",\n            \"thumbnailUrl\": \"\",\n            \"title\": \"\"\n          }\n        }\n      ],\n      \"title\": \"\"\n    }\n  ],\n  \"courseState\": \"\",\n  \"creationTime\": \"\",\n  \"description\": \"\",\n  \"descriptionHeading\": \"\",\n  \"enrollmentCode\": \"\",\n  \"gradebookSettings\": {\n    \"calculationType\": \"\",\n    \"displaySetting\": \"\",\n    \"gradeCategories\": [\n      {\n        \"defaultGradeDenominator\": 0,\n        \"id\": \"\",\n        \"name\": \"\",\n        \"weight\": 0\n      }\n    ]\n  },\n  \"guardiansEnabled\": false,\n  \"id\": \"\",\n  \"name\": \"\",\n  \"ownerId\": \"\",\n  \"room\": \"\",\n  \"section\": \"\",\n  \"teacherFolder\": {\n    \"alternateLink\": \"\",\n    \"id\": \"\",\n    \"title\": \"\"\n  },\n  \"teacherGroupEmail\": \"\",\n  \"updateTime\": \"\"\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  \"alternateLink\": \"\",\n  \"calendarId\": \"\",\n  \"courseGroupEmail\": \"\",\n  \"courseMaterialSets\": [\n    {\n      \"materials\": [\n        {\n          \"driveFile\": {\n            \"alternateLink\": \"\",\n            \"id\": \"\",\n            \"thumbnailUrl\": \"\",\n            \"title\": \"\"\n          },\n          \"form\": {\n            \"formUrl\": \"\",\n            \"responseUrl\": \"\",\n            \"thumbnailUrl\": \"\",\n            \"title\": \"\"\n          },\n          \"link\": {\n            \"thumbnailUrl\": \"\",\n            \"title\": \"\",\n            \"url\": \"\"\n          },\n          \"youTubeVideo\": {\n            \"alternateLink\": \"\",\n            \"id\": \"\",\n            \"thumbnailUrl\": \"\",\n            \"title\": \"\"\n          }\n        }\n      ],\n      \"title\": \"\"\n    }\n  ],\n  \"courseState\": \"\",\n  \"creationTime\": \"\",\n  \"description\": \"\",\n  \"descriptionHeading\": \"\",\n  \"enrollmentCode\": \"\",\n  \"gradebookSettings\": {\n    \"calculationType\": \"\",\n    \"displaySetting\": \"\",\n    \"gradeCategories\": [\n      {\n        \"defaultGradeDenominator\": 0,\n        \"id\": \"\",\n        \"name\": \"\",\n        \"weight\": 0\n      }\n    ]\n  },\n  \"guardiansEnabled\": false,\n  \"id\": \"\",\n  \"name\": \"\",\n  \"ownerId\": \"\",\n  \"room\": \"\",\n  \"section\": \"\",\n  \"teacherFolder\": {\n    \"alternateLink\": \"\",\n    \"id\": \"\",\n    \"title\": \"\"\n  },\n  \"teacherGroupEmail\": \"\",\n  \"updateTime\": \"\"\n}");
Request request = new Request.Builder()
  .url("{{baseUrl}}/v1/courses/:id")
  .patch(body)
  .addHeader("content-type", "application/json")
  .build();

Response response = client.newCall(request).execute();
HttpResponse response = Unirest.patch("{{baseUrl}}/v1/courses/:id")
  .header("content-type", "application/json")
  .body("{\n  \"alternateLink\": \"\",\n  \"calendarId\": \"\",\n  \"courseGroupEmail\": \"\",\n  \"courseMaterialSets\": [\n    {\n      \"materials\": [\n        {\n          \"driveFile\": {\n            \"alternateLink\": \"\",\n            \"id\": \"\",\n            \"thumbnailUrl\": \"\",\n            \"title\": \"\"\n          },\n          \"form\": {\n            \"formUrl\": \"\",\n            \"responseUrl\": \"\",\n            \"thumbnailUrl\": \"\",\n            \"title\": \"\"\n          },\n          \"link\": {\n            \"thumbnailUrl\": \"\",\n            \"title\": \"\",\n            \"url\": \"\"\n          },\n          \"youTubeVideo\": {\n            \"alternateLink\": \"\",\n            \"id\": \"\",\n            \"thumbnailUrl\": \"\",\n            \"title\": \"\"\n          }\n        }\n      ],\n      \"title\": \"\"\n    }\n  ],\n  \"courseState\": \"\",\n  \"creationTime\": \"\",\n  \"description\": \"\",\n  \"descriptionHeading\": \"\",\n  \"enrollmentCode\": \"\",\n  \"gradebookSettings\": {\n    \"calculationType\": \"\",\n    \"displaySetting\": \"\",\n    \"gradeCategories\": [\n      {\n        \"defaultGradeDenominator\": 0,\n        \"id\": \"\",\n        \"name\": \"\",\n        \"weight\": 0\n      }\n    ]\n  },\n  \"guardiansEnabled\": false,\n  \"id\": \"\",\n  \"name\": \"\",\n  \"ownerId\": \"\",\n  \"room\": \"\",\n  \"section\": \"\",\n  \"teacherFolder\": {\n    \"alternateLink\": \"\",\n    \"id\": \"\",\n    \"title\": \"\"\n  },\n  \"teacherGroupEmail\": \"\",\n  \"updateTime\": \"\"\n}")
  .asString();
const data = JSON.stringify({
  alternateLink: '',
  calendarId: '',
  courseGroupEmail: '',
  courseMaterialSets: [
    {
      materials: [
        {
          driveFile: {
            alternateLink: '',
            id: '',
            thumbnailUrl: '',
            title: ''
          },
          form: {
            formUrl: '',
            responseUrl: '',
            thumbnailUrl: '',
            title: ''
          },
          link: {
            thumbnailUrl: '',
            title: '',
            url: ''
          },
          youTubeVideo: {
            alternateLink: '',
            id: '',
            thumbnailUrl: '',
            title: ''
          }
        }
      ],
      title: ''
    }
  ],
  courseState: '',
  creationTime: '',
  description: '',
  descriptionHeading: '',
  enrollmentCode: '',
  gradebookSettings: {
    calculationType: '',
    displaySetting: '',
    gradeCategories: [
      {
        defaultGradeDenominator: 0,
        id: '',
        name: '',
        weight: 0
      }
    ]
  },
  guardiansEnabled: false,
  id: '',
  name: '',
  ownerId: '',
  room: '',
  section: '',
  teacherFolder: {
    alternateLink: '',
    id: '',
    title: ''
  },
  teacherGroupEmail: '',
  updateTime: ''
});

const xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener('readystatechange', function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open('PATCH', '{{baseUrl}}/v1/courses/:id');
xhr.setRequestHeader('content-type', 'application/json');

xhr.send(data);
import axios from 'axios';

const options = {
  method: 'PATCH',
  url: '{{baseUrl}}/v1/courses/:id',
  headers: {'content-type': 'application/json'},
  data: {
    alternateLink: '',
    calendarId: '',
    courseGroupEmail: '',
    courseMaterialSets: [
      {
        materials: [
          {
            driveFile: {alternateLink: '', id: '', thumbnailUrl: '', title: ''},
            form: {formUrl: '', responseUrl: '', thumbnailUrl: '', title: ''},
            link: {thumbnailUrl: '', title: '', url: ''},
            youTubeVideo: {alternateLink: '', id: '', thumbnailUrl: '', title: ''}
          }
        ],
        title: ''
      }
    ],
    courseState: '',
    creationTime: '',
    description: '',
    descriptionHeading: '',
    enrollmentCode: '',
    gradebookSettings: {
      calculationType: '',
      displaySetting: '',
      gradeCategories: [{defaultGradeDenominator: 0, id: '', name: '', weight: 0}]
    },
    guardiansEnabled: false,
    id: '',
    name: '',
    ownerId: '',
    room: '',
    section: '',
    teacherFolder: {alternateLink: '', id: '', title: ''},
    teacherGroupEmail: '',
    updateTime: ''
  }
};

try {
  const { data } = await axios.request(options);
  console.log(data);
} catch (error) {
  console.error(error);
}
const url = '{{baseUrl}}/v1/courses/:id';
const options = {
  method: 'PATCH',
  headers: {'content-type': 'application/json'},
  body: '{"alternateLink":"","calendarId":"","courseGroupEmail":"","courseMaterialSets":[{"materials":[{"driveFile":{"alternateLink":"","id":"","thumbnailUrl":"","title":""},"form":{"formUrl":"","responseUrl":"","thumbnailUrl":"","title":""},"link":{"thumbnailUrl":"","title":"","url":""},"youTubeVideo":{"alternateLink":"","id":"","thumbnailUrl":"","title":""}}],"title":""}],"courseState":"","creationTime":"","description":"","descriptionHeading":"","enrollmentCode":"","gradebookSettings":{"calculationType":"","displaySetting":"","gradeCategories":[{"defaultGradeDenominator":0,"id":"","name":"","weight":0}]},"guardiansEnabled":false,"id":"","name":"","ownerId":"","room":"","section":"","teacherFolder":{"alternateLink":"","id":"","title":""},"teacherGroupEmail":"","updateTime":""}'
};

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}}/v1/courses/:id',
  method: 'PATCH',
  headers: {
    'content-type': 'application/json'
  },
  processData: false,
  data: '{\n  "alternateLink": "",\n  "calendarId": "",\n  "courseGroupEmail": "",\n  "courseMaterialSets": [\n    {\n      "materials": [\n        {\n          "driveFile": {\n            "alternateLink": "",\n            "id": "",\n            "thumbnailUrl": "",\n            "title": ""\n          },\n          "form": {\n            "formUrl": "",\n            "responseUrl": "",\n            "thumbnailUrl": "",\n            "title": ""\n          },\n          "link": {\n            "thumbnailUrl": "",\n            "title": "",\n            "url": ""\n          },\n          "youTubeVideo": {\n            "alternateLink": "",\n            "id": "",\n            "thumbnailUrl": "",\n            "title": ""\n          }\n        }\n      ],\n      "title": ""\n    }\n  ],\n  "courseState": "",\n  "creationTime": "",\n  "description": "",\n  "descriptionHeading": "",\n  "enrollmentCode": "",\n  "gradebookSettings": {\n    "calculationType": "",\n    "displaySetting": "",\n    "gradeCategories": [\n      {\n        "defaultGradeDenominator": 0,\n        "id": "",\n        "name": "",\n        "weight": 0\n      }\n    ]\n  },\n  "guardiansEnabled": false,\n  "id": "",\n  "name": "",\n  "ownerId": "",\n  "room": "",\n  "section": "",\n  "teacherFolder": {\n    "alternateLink": "",\n    "id": "",\n    "title": ""\n  },\n  "teacherGroupEmail": "",\n  "updateTime": ""\n}'
};

$.ajax(settings).done(function (response) {
  console.log(response);
});
val client = OkHttpClient()

val mediaType = MediaType.parse("application/json")
val body = RequestBody.create(mediaType, "{\n  \"alternateLink\": \"\",\n  \"calendarId\": \"\",\n  \"courseGroupEmail\": \"\",\n  \"courseMaterialSets\": [\n    {\n      \"materials\": [\n        {\n          \"driveFile\": {\n            \"alternateLink\": \"\",\n            \"id\": \"\",\n            \"thumbnailUrl\": \"\",\n            \"title\": \"\"\n          },\n          \"form\": {\n            \"formUrl\": \"\",\n            \"responseUrl\": \"\",\n            \"thumbnailUrl\": \"\",\n            \"title\": \"\"\n          },\n          \"link\": {\n            \"thumbnailUrl\": \"\",\n            \"title\": \"\",\n            \"url\": \"\"\n          },\n          \"youTubeVideo\": {\n            \"alternateLink\": \"\",\n            \"id\": \"\",\n            \"thumbnailUrl\": \"\",\n            \"title\": \"\"\n          }\n        }\n      ],\n      \"title\": \"\"\n    }\n  ],\n  \"courseState\": \"\",\n  \"creationTime\": \"\",\n  \"description\": \"\",\n  \"descriptionHeading\": \"\",\n  \"enrollmentCode\": \"\",\n  \"gradebookSettings\": {\n    \"calculationType\": \"\",\n    \"displaySetting\": \"\",\n    \"gradeCategories\": [\n      {\n        \"defaultGradeDenominator\": 0,\n        \"id\": \"\",\n        \"name\": \"\",\n        \"weight\": 0\n      }\n    ]\n  },\n  \"guardiansEnabled\": false,\n  \"id\": \"\",\n  \"name\": \"\",\n  \"ownerId\": \"\",\n  \"room\": \"\",\n  \"section\": \"\",\n  \"teacherFolder\": {\n    \"alternateLink\": \"\",\n    \"id\": \"\",\n    \"title\": \"\"\n  },\n  \"teacherGroupEmail\": \"\",\n  \"updateTime\": \"\"\n}")
val request = Request.Builder()
  .url("{{baseUrl}}/v1/courses/:id")
  .patch(body)
  .addHeader("content-type", "application/json")
  .build()

val response = client.newCall(request).execute()
const http = require('https');

const options = {
  method: 'PATCH',
  hostname: 'example.com',
  port: null,
  path: '/baseUrl/v1/courses/:id',
  headers: {
    'content-type': 'application/json'
  }
};

const req = http.request(options, function (res) {
  const chunks = [];

  res.on('data', function (chunk) {
    chunks.push(chunk);
  });

  res.on('end', function () {
    const body = Buffer.concat(chunks);
    console.log(body.toString());
  });
});

req.write(JSON.stringify({
  alternateLink: '',
  calendarId: '',
  courseGroupEmail: '',
  courseMaterialSets: [
    {
      materials: [
        {
          driveFile: {alternateLink: '', id: '', thumbnailUrl: '', title: ''},
          form: {formUrl: '', responseUrl: '', thumbnailUrl: '', title: ''},
          link: {thumbnailUrl: '', title: '', url: ''},
          youTubeVideo: {alternateLink: '', id: '', thumbnailUrl: '', title: ''}
        }
      ],
      title: ''
    }
  ],
  courseState: '',
  creationTime: '',
  description: '',
  descriptionHeading: '',
  enrollmentCode: '',
  gradebookSettings: {
    calculationType: '',
    displaySetting: '',
    gradeCategories: [{defaultGradeDenominator: 0, id: '', name: '', weight: 0}]
  },
  guardiansEnabled: false,
  id: '',
  name: '',
  ownerId: '',
  room: '',
  section: '',
  teacherFolder: {alternateLink: '', id: '', title: ''},
  teacherGroupEmail: '',
  updateTime: ''
}));
req.end();
const request = require('request');

const options = {
  method: 'PATCH',
  url: '{{baseUrl}}/v1/courses/:id',
  headers: {'content-type': 'application/json'},
  body: {
    alternateLink: '',
    calendarId: '',
    courseGroupEmail: '',
    courseMaterialSets: [
      {
        materials: [
          {
            driveFile: {alternateLink: '', id: '', thumbnailUrl: '', title: ''},
            form: {formUrl: '', responseUrl: '', thumbnailUrl: '', title: ''},
            link: {thumbnailUrl: '', title: '', url: ''},
            youTubeVideo: {alternateLink: '', id: '', thumbnailUrl: '', title: ''}
          }
        ],
        title: ''
      }
    ],
    courseState: '',
    creationTime: '',
    description: '',
    descriptionHeading: '',
    enrollmentCode: '',
    gradebookSettings: {
      calculationType: '',
      displaySetting: '',
      gradeCategories: [{defaultGradeDenominator: 0, id: '', name: '', weight: 0}]
    },
    guardiansEnabled: false,
    id: '',
    name: '',
    ownerId: '',
    room: '',
    section: '',
    teacherFolder: {alternateLink: '', id: '', title: ''},
    teacherGroupEmail: '',
    updateTime: ''
  },
  json: true
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
const unirest = require('unirest');

const req = unirest('PATCH', '{{baseUrl}}/v1/courses/:id');

req.headers({
  'content-type': 'application/json'
});

req.type('json');
req.send({
  alternateLink: '',
  calendarId: '',
  courseGroupEmail: '',
  courseMaterialSets: [
    {
      materials: [
        {
          driveFile: {
            alternateLink: '',
            id: '',
            thumbnailUrl: '',
            title: ''
          },
          form: {
            formUrl: '',
            responseUrl: '',
            thumbnailUrl: '',
            title: ''
          },
          link: {
            thumbnailUrl: '',
            title: '',
            url: ''
          },
          youTubeVideo: {
            alternateLink: '',
            id: '',
            thumbnailUrl: '',
            title: ''
          }
        }
      ],
      title: ''
    }
  ],
  courseState: '',
  creationTime: '',
  description: '',
  descriptionHeading: '',
  enrollmentCode: '',
  gradebookSettings: {
    calculationType: '',
    displaySetting: '',
    gradeCategories: [
      {
        defaultGradeDenominator: 0,
        id: '',
        name: '',
        weight: 0
      }
    ]
  },
  guardiansEnabled: false,
  id: '',
  name: '',
  ownerId: '',
  room: '',
  section: '',
  teacherFolder: {
    alternateLink: '',
    id: '',
    title: ''
  },
  teacherGroupEmail: '',
  updateTime: ''
});

req.end(function (res) {
  if (res.error) throw new Error(res.error);

  console.log(res.body);
});
const axios = require('axios').default;

const options = {
  method: 'PATCH',
  url: '{{baseUrl}}/v1/courses/:id',
  headers: {'content-type': 'application/json'},
  data: {
    alternateLink: '',
    calendarId: '',
    courseGroupEmail: '',
    courseMaterialSets: [
      {
        materials: [
          {
            driveFile: {alternateLink: '', id: '', thumbnailUrl: '', title: ''},
            form: {formUrl: '', responseUrl: '', thumbnailUrl: '', title: ''},
            link: {thumbnailUrl: '', title: '', url: ''},
            youTubeVideo: {alternateLink: '', id: '', thumbnailUrl: '', title: ''}
          }
        ],
        title: ''
      }
    ],
    courseState: '',
    creationTime: '',
    description: '',
    descriptionHeading: '',
    enrollmentCode: '',
    gradebookSettings: {
      calculationType: '',
      displaySetting: '',
      gradeCategories: [{defaultGradeDenominator: 0, id: '', name: '', weight: 0}]
    },
    guardiansEnabled: false,
    id: '',
    name: '',
    ownerId: '',
    room: '',
    section: '',
    teacherFolder: {alternateLink: '', id: '', title: ''},
    teacherGroupEmail: '',
    updateTime: ''
  }
};

try {
  const { data } = await axios.request(options);
  console.log(data);
} catch (error) {
  console.error(error);
}
const fetch = require('node-fetch');

const url = '{{baseUrl}}/v1/courses/:id';
const options = {
  method: 'PATCH',
  headers: {'content-type': 'application/json'},
  body: '{"alternateLink":"","calendarId":"","courseGroupEmail":"","courseMaterialSets":[{"materials":[{"driveFile":{"alternateLink":"","id":"","thumbnailUrl":"","title":""},"form":{"formUrl":"","responseUrl":"","thumbnailUrl":"","title":""},"link":{"thumbnailUrl":"","title":"","url":""},"youTubeVideo":{"alternateLink":"","id":"","thumbnailUrl":"","title":""}}],"title":""}],"courseState":"","creationTime":"","description":"","descriptionHeading":"","enrollmentCode":"","gradebookSettings":{"calculationType":"","displaySetting":"","gradeCategories":[{"defaultGradeDenominator":0,"id":"","name":"","weight":0}]},"guardiansEnabled":false,"id":"","name":"","ownerId":"","room":"","section":"","teacherFolder":{"alternateLink":"","id":"","title":""},"teacherGroupEmail":"","updateTime":""}'
};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
#import 

NSDictionary *headers = @{ @"content-type": @"application/json" };
NSDictionary *parameters = @{ @"alternateLink": @"",
                              @"calendarId": @"",
                              @"courseGroupEmail": @"",
                              @"courseMaterialSets": @[ @{ @"materials": @[ @{ @"driveFile": @{ @"alternateLink": @"", @"id": @"", @"thumbnailUrl": @"", @"title": @"" }, @"form": @{ @"formUrl": @"", @"responseUrl": @"", @"thumbnailUrl": @"", @"title": @"" }, @"link": @{ @"thumbnailUrl": @"", @"title": @"", @"url": @"" }, @"youTubeVideo": @{ @"alternateLink": @"", @"id": @"", @"thumbnailUrl": @"", @"title": @"" } } ], @"title": @"" } ],
                              @"courseState": @"",
                              @"creationTime": @"",
                              @"description": @"",
                              @"descriptionHeading": @"",
                              @"enrollmentCode": @"",
                              @"gradebookSettings": @{ @"calculationType": @"", @"displaySetting": @"", @"gradeCategories": @[ @{ @"defaultGradeDenominator": @0, @"id": @"", @"name": @"", @"weight": @0 } ] },
                              @"guardiansEnabled": @NO,
                              @"id": @"",
                              @"name": @"",
                              @"ownerId": @"",
                              @"room": @"",
                              @"section": @"",
                              @"teacherFolder": @{ @"alternateLink": @"", @"id": @"", @"title": @"" },
                              @"teacherGroupEmail": @"",
                              @"updateTime": @"" };

NSData *postData = [NSJSONSerialization dataWithJSONObject:parameters options:0 error:nil];

NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"{{baseUrl}}/v1/courses/:id"]
                                                       cachePolicy:NSURLRequestUseProtocolCachePolicy
                                                   timeoutInterval:10.0];
[request setHTTPMethod:@"PATCH"];
[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}}/v1/courses/:id" in
let headers = Header.add (Header.init ()) "content-type" "application/json" in
let body = Cohttp_lwt_body.of_string "{\n  \"alternateLink\": \"\",\n  \"calendarId\": \"\",\n  \"courseGroupEmail\": \"\",\n  \"courseMaterialSets\": [\n    {\n      \"materials\": [\n        {\n          \"driveFile\": {\n            \"alternateLink\": \"\",\n            \"id\": \"\",\n            \"thumbnailUrl\": \"\",\n            \"title\": \"\"\n          },\n          \"form\": {\n            \"formUrl\": \"\",\n            \"responseUrl\": \"\",\n            \"thumbnailUrl\": \"\",\n            \"title\": \"\"\n          },\n          \"link\": {\n            \"thumbnailUrl\": \"\",\n            \"title\": \"\",\n            \"url\": \"\"\n          },\n          \"youTubeVideo\": {\n            \"alternateLink\": \"\",\n            \"id\": \"\",\n            \"thumbnailUrl\": \"\",\n            \"title\": \"\"\n          }\n        }\n      ],\n      \"title\": \"\"\n    }\n  ],\n  \"courseState\": \"\",\n  \"creationTime\": \"\",\n  \"description\": \"\",\n  \"descriptionHeading\": \"\",\n  \"enrollmentCode\": \"\",\n  \"gradebookSettings\": {\n    \"calculationType\": \"\",\n    \"displaySetting\": \"\",\n    \"gradeCategories\": [\n      {\n        \"defaultGradeDenominator\": 0,\n        \"id\": \"\",\n        \"name\": \"\",\n        \"weight\": 0\n      }\n    ]\n  },\n  \"guardiansEnabled\": false,\n  \"id\": \"\",\n  \"name\": \"\",\n  \"ownerId\": \"\",\n  \"room\": \"\",\n  \"section\": \"\",\n  \"teacherFolder\": {\n    \"alternateLink\": \"\",\n    \"id\": \"\",\n    \"title\": \"\"\n  },\n  \"teacherGroupEmail\": \"\",\n  \"updateTime\": \"\"\n}" in

Client.call ~headers ~body `PATCH uri
>>= fun (res, body_stream) ->
  (* Do stuff with the result *)
 "{{baseUrl}}/v1/courses/:id",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "PATCH",
  CURLOPT_POSTFIELDS => json_encode([
    'alternateLink' => '',
    'calendarId' => '',
    'courseGroupEmail' => '',
    'courseMaterialSets' => [
        [
                'materials' => [
                                [
                                                                'driveFile' => [
                                                                                                                                'alternateLink' => '',
                                                                                                                                'id' => '',
                                                                                                                                'thumbnailUrl' => '',
                                                                                                                                'title' => ''
                                                                ],
                                                                'form' => [
                                                                                                                                'formUrl' => '',
                                                                                                                                'responseUrl' => '',
                                                                                                                                'thumbnailUrl' => '',
                                                                                                                                'title' => ''
                                                                ],
                                                                'link' => [
                                                                                                                                'thumbnailUrl' => '',
                                                                                                                                'title' => '',
                                                                                                                                'url' => ''
                                                                ],
                                                                'youTubeVideo' => [
                                                                                                                                'alternateLink' => '',
                                                                                                                                'id' => '',
                                                                                                                                'thumbnailUrl' => '',
                                                                                                                                'title' => ''
                                                                ]
                                ]
                ],
                'title' => ''
        ]
    ],
    'courseState' => '',
    'creationTime' => '',
    'description' => '',
    'descriptionHeading' => '',
    'enrollmentCode' => '',
    'gradebookSettings' => [
        'calculationType' => '',
        'displaySetting' => '',
        'gradeCategories' => [
                [
                                'defaultGradeDenominator' => 0,
                                'id' => '',
                                'name' => '',
                                'weight' => 0
                ]
        ]
    ],
    'guardiansEnabled' => null,
    'id' => '',
    'name' => '',
    'ownerId' => '',
    'room' => '',
    'section' => '',
    'teacherFolder' => [
        'alternateLink' => '',
        'id' => '',
        'title' => ''
    ],
    'teacherGroupEmail' => '',
    'updateTime' => ''
  ]),
  CURLOPT_HTTPHEADER => [
    "content-type: application/json"
  ],
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
request('PATCH', '{{baseUrl}}/v1/courses/:id', [
  'body' => '{
  "alternateLink": "",
  "calendarId": "",
  "courseGroupEmail": "",
  "courseMaterialSets": [
    {
      "materials": [
        {
          "driveFile": {
            "alternateLink": "",
            "id": "",
            "thumbnailUrl": "",
            "title": ""
          },
          "form": {
            "formUrl": "",
            "responseUrl": "",
            "thumbnailUrl": "",
            "title": ""
          },
          "link": {
            "thumbnailUrl": "",
            "title": "",
            "url": ""
          },
          "youTubeVideo": {
            "alternateLink": "",
            "id": "",
            "thumbnailUrl": "",
            "title": ""
          }
        }
      ],
      "title": ""
    }
  ],
  "courseState": "",
  "creationTime": "",
  "description": "",
  "descriptionHeading": "",
  "enrollmentCode": "",
  "gradebookSettings": {
    "calculationType": "",
    "displaySetting": "",
    "gradeCategories": [
      {
        "defaultGradeDenominator": 0,
        "id": "",
        "name": "",
        "weight": 0
      }
    ]
  },
  "guardiansEnabled": false,
  "id": "",
  "name": "",
  "ownerId": "",
  "room": "",
  "section": "",
  "teacherFolder": {
    "alternateLink": "",
    "id": "",
    "title": ""
  },
  "teacherGroupEmail": "",
  "updateTime": ""
}',
  'headers' => [
    'content-type' => 'application/json',
  ],
]);

echo $response->getBody();
setUrl('{{baseUrl}}/v1/courses/:id');
$request->setMethod(HttpRequest::HTTP_METH_PATCH);

$request->setHeaders([
  'content-type' => 'application/json'
]);

$request->setContentType('application/json');
$request->setBody(json_encode([
  'alternateLink' => '',
  'calendarId' => '',
  'courseGroupEmail' => '',
  'courseMaterialSets' => [
    [
        'materials' => [
                [
                                'driveFile' => [
                                                                'alternateLink' => '',
                                                                'id' => '',
                                                                'thumbnailUrl' => '',
                                                                'title' => ''
                                ],
                                'form' => [
                                                                'formUrl' => '',
                                                                'responseUrl' => '',
                                                                'thumbnailUrl' => '',
                                                                'title' => ''
                                ],
                                'link' => [
                                                                'thumbnailUrl' => '',
                                                                'title' => '',
                                                                'url' => ''
                                ],
                                'youTubeVideo' => [
                                                                'alternateLink' => '',
                                                                'id' => '',
                                                                'thumbnailUrl' => '',
                                                                'title' => ''
                                ]
                ]
        ],
        'title' => ''
    ]
  ],
  'courseState' => '',
  'creationTime' => '',
  'description' => '',
  'descriptionHeading' => '',
  'enrollmentCode' => '',
  'gradebookSettings' => [
    'calculationType' => '',
    'displaySetting' => '',
    'gradeCategories' => [
        [
                'defaultGradeDenominator' => 0,
                'id' => '',
                'name' => '',
                'weight' => 0
        ]
    ]
  ],
  'guardiansEnabled' => null,
  'id' => '',
  'name' => '',
  'ownerId' => '',
  'room' => '',
  'section' => '',
  'teacherFolder' => [
    'alternateLink' => '',
    'id' => '',
    'title' => ''
  ],
  'teacherGroupEmail' => '',
  'updateTime' => ''
]));

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
append(json_encode([
  'alternateLink' => '',
  'calendarId' => '',
  'courseGroupEmail' => '',
  'courseMaterialSets' => [
    [
        'materials' => [
                [
                                'driveFile' => [
                                                                'alternateLink' => '',
                                                                'id' => '',
                                                                'thumbnailUrl' => '',
                                                                'title' => ''
                                ],
                                'form' => [
                                                                'formUrl' => '',
                                                                'responseUrl' => '',
                                                                'thumbnailUrl' => '',
                                                                'title' => ''
                                ],
                                'link' => [
                                                                'thumbnailUrl' => '',
                                                                'title' => '',
                                                                'url' => ''
                                ],
                                'youTubeVideo' => [
                                                                'alternateLink' => '',
                                                                'id' => '',
                                                                'thumbnailUrl' => '',
                                                                'title' => ''
                                ]
                ]
        ],
        'title' => ''
    ]
  ],
  'courseState' => '',
  'creationTime' => '',
  'description' => '',
  'descriptionHeading' => '',
  'enrollmentCode' => '',
  'gradebookSettings' => [
    'calculationType' => '',
    'displaySetting' => '',
    'gradeCategories' => [
        [
                'defaultGradeDenominator' => 0,
                'id' => '',
                'name' => '',
                'weight' => 0
        ]
    ]
  ],
  'guardiansEnabled' => null,
  'id' => '',
  'name' => '',
  'ownerId' => '',
  'room' => '',
  'section' => '',
  'teacherFolder' => [
    'alternateLink' => '',
    'id' => '',
    'title' => ''
  ],
  'teacherGroupEmail' => '',
  'updateTime' => ''
]));
$request->setRequestUrl('{{baseUrl}}/v1/courses/:id');
$request->setRequestMethod('PATCH');
$request->setBody($body);

$request->setHeaders([
  'content-type' => 'application/json'
]);

$client->enqueue($request)->send();
$response = $client->getResponse();

echo $response->getBody();
$headers=@{}
$headers.Add("content-type", "application/json")
$response = Invoke-WebRequest -Uri '{{baseUrl}}/v1/courses/:id' -Method PATCH -Headers $headers -ContentType 'application/json' -Body '{
  "alternateLink": "",
  "calendarId": "",
  "courseGroupEmail": "",
  "courseMaterialSets": [
    {
      "materials": [
        {
          "driveFile": {
            "alternateLink": "",
            "id": "",
            "thumbnailUrl": "",
            "title": ""
          },
          "form": {
            "formUrl": "",
            "responseUrl": "",
            "thumbnailUrl": "",
            "title": ""
          },
          "link": {
            "thumbnailUrl": "",
            "title": "",
            "url": ""
          },
          "youTubeVideo": {
            "alternateLink": "",
            "id": "",
            "thumbnailUrl": "",
            "title": ""
          }
        }
      ],
      "title": ""
    }
  ],
  "courseState": "",
  "creationTime": "",
  "description": "",
  "descriptionHeading": "",
  "enrollmentCode": "",
  "gradebookSettings": {
    "calculationType": "",
    "displaySetting": "",
    "gradeCategories": [
      {
        "defaultGradeDenominator": 0,
        "id": "",
        "name": "",
        "weight": 0
      }
    ]
  },
  "guardiansEnabled": false,
  "id": "",
  "name": "",
  "ownerId": "",
  "room": "",
  "section": "",
  "teacherFolder": {
    "alternateLink": "",
    "id": "",
    "title": ""
  },
  "teacherGroupEmail": "",
  "updateTime": ""
}'
$headers=@{}
$headers.Add("content-type", "application/json")
$response = Invoke-RestMethod -Uri '{{baseUrl}}/v1/courses/:id' -Method PATCH -Headers $headers -ContentType 'application/json' -Body '{
  "alternateLink": "",
  "calendarId": "",
  "courseGroupEmail": "",
  "courseMaterialSets": [
    {
      "materials": [
        {
          "driveFile": {
            "alternateLink": "",
            "id": "",
            "thumbnailUrl": "",
            "title": ""
          },
          "form": {
            "formUrl": "",
            "responseUrl": "",
            "thumbnailUrl": "",
            "title": ""
          },
          "link": {
            "thumbnailUrl": "",
            "title": "",
            "url": ""
          },
          "youTubeVideo": {
            "alternateLink": "",
            "id": "",
            "thumbnailUrl": "",
            "title": ""
          }
        }
      ],
      "title": ""
    }
  ],
  "courseState": "",
  "creationTime": "",
  "description": "",
  "descriptionHeading": "",
  "enrollmentCode": "",
  "gradebookSettings": {
    "calculationType": "",
    "displaySetting": "",
    "gradeCategories": [
      {
        "defaultGradeDenominator": 0,
        "id": "",
        "name": "",
        "weight": 0
      }
    ]
  },
  "guardiansEnabled": false,
  "id": "",
  "name": "",
  "ownerId": "",
  "room": "",
  "section": "",
  "teacherFolder": {
    "alternateLink": "",
    "id": "",
    "title": ""
  },
  "teacherGroupEmail": "",
  "updateTime": ""
}'
import http.client

conn = http.client.HTTPSConnection("example.com")

payload = "{\n  \"alternateLink\": \"\",\n  \"calendarId\": \"\",\n  \"courseGroupEmail\": \"\",\n  \"courseMaterialSets\": [\n    {\n      \"materials\": [\n        {\n          \"driveFile\": {\n            \"alternateLink\": \"\",\n            \"id\": \"\",\n            \"thumbnailUrl\": \"\",\n            \"title\": \"\"\n          },\n          \"form\": {\n            \"formUrl\": \"\",\n            \"responseUrl\": \"\",\n            \"thumbnailUrl\": \"\",\n            \"title\": \"\"\n          },\n          \"link\": {\n            \"thumbnailUrl\": \"\",\n            \"title\": \"\",\n            \"url\": \"\"\n          },\n          \"youTubeVideo\": {\n            \"alternateLink\": \"\",\n            \"id\": \"\",\n            \"thumbnailUrl\": \"\",\n            \"title\": \"\"\n          }\n        }\n      ],\n      \"title\": \"\"\n    }\n  ],\n  \"courseState\": \"\",\n  \"creationTime\": \"\",\n  \"description\": \"\",\n  \"descriptionHeading\": \"\",\n  \"enrollmentCode\": \"\",\n  \"gradebookSettings\": {\n    \"calculationType\": \"\",\n    \"displaySetting\": \"\",\n    \"gradeCategories\": [\n      {\n        \"defaultGradeDenominator\": 0,\n        \"id\": \"\",\n        \"name\": \"\",\n        \"weight\": 0\n      }\n    ]\n  },\n  \"guardiansEnabled\": false,\n  \"id\": \"\",\n  \"name\": \"\",\n  \"ownerId\": \"\",\n  \"room\": \"\",\n  \"section\": \"\",\n  \"teacherFolder\": {\n    \"alternateLink\": \"\",\n    \"id\": \"\",\n    \"title\": \"\"\n  },\n  \"teacherGroupEmail\": \"\",\n  \"updateTime\": \"\"\n}"

headers = { 'content-type': "application/json" }

conn.request("PATCH", "/baseUrl/v1/courses/:id", payload, headers)

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))
import requests

url = "{{baseUrl}}/v1/courses/:id"

payload = {
    "alternateLink": "",
    "calendarId": "",
    "courseGroupEmail": "",
    "courseMaterialSets": [
        {
            "materials": [
                {
                    "driveFile": {
                        "alternateLink": "",
                        "id": "",
                        "thumbnailUrl": "",
                        "title": ""
                    },
                    "form": {
                        "formUrl": "",
                        "responseUrl": "",
                        "thumbnailUrl": "",
                        "title": ""
                    },
                    "link": {
                        "thumbnailUrl": "",
                        "title": "",
                        "url": ""
                    },
                    "youTubeVideo": {
                        "alternateLink": "",
                        "id": "",
                        "thumbnailUrl": "",
                        "title": ""
                    }
                }
            ],
            "title": ""
        }
    ],
    "courseState": "",
    "creationTime": "",
    "description": "",
    "descriptionHeading": "",
    "enrollmentCode": "",
    "gradebookSettings": {
        "calculationType": "",
        "displaySetting": "",
        "gradeCategories": [
            {
                "defaultGradeDenominator": 0,
                "id": "",
                "name": "",
                "weight": 0
            }
        ]
    },
    "guardiansEnabled": False,
    "id": "",
    "name": "",
    "ownerId": "",
    "room": "",
    "section": "",
    "teacherFolder": {
        "alternateLink": "",
        "id": "",
        "title": ""
    },
    "teacherGroupEmail": "",
    "updateTime": ""
}
headers = {"content-type": "application/json"}

response = requests.patch(url, json=payload, headers=headers)

print(response.json())
library(httr)

url <- "{{baseUrl}}/v1/courses/:id"

payload <- "{\n  \"alternateLink\": \"\",\n  \"calendarId\": \"\",\n  \"courseGroupEmail\": \"\",\n  \"courseMaterialSets\": [\n    {\n      \"materials\": [\n        {\n          \"driveFile\": {\n            \"alternateLink\": \"\",\n            \"id\": \"\",\n            \"thumbnailUrl\": \"\",\n            \"title\": \"\"\n          },\n          \"form\": {\n            \"formUrl\": \"\",\n            \"responseUrl\": \"\",\n            \"thumbnailUrl\": \"\",\n            \"title\": \"\"\n          },\n          \"link\": {\n            \"thumbnailUrl\": \"\",\n            \"title\": \"\",\n            \"url\": \"\"\n          },\n          \"youTubeVideo\": {\n            \"alternateLink\": \"\",\n            \"id\": \"\",\n            \"thumbnailUrl\": \"\",\n            \"title\": \"\"\n          }\n        }\n      ],\n      \"title\": \"\"\n    }\n  ],\n  \"courseState\": \"\",\n  \"creationTime\": \"\",\n  \"description\": \"\",\n  \"descriptionHeading\": \"\",\n  \"enrollmentCode\": \"\",\n  \"gradebookSettings\": {\n    \"calculationType\": \"\",\n    \"displaySetting\": \"\",\n    \"gradeCategories\": [\n      {\n        \"defaultGradeDenominator\": 0,\n        \"id\": \"\",\n        \"name\": \"\",\n        \"weight\": 0\n      }\n    ]\n  },\n  \"guardiansEnabled\": false,\n  \"id\": \"\",\n  \"name\": \"\",\n  \"ownerId\": \"\",\n  \"room\": \"\",\n  \"section\": \"\",\n  \"teacherFolder\": {\n    \"alternateLink\": \"\",\n    \"id\": \"\",\n    \"title\": \"\"\n  },\n  \"teacherGroupEmail\": \"\",\n  \"updateTime\": \"\"\n}"

encode <- "json"

response <- VERB("PATCH", url, body = payload, content_type("application/json"), encode = encode)

content(response, "text")
require 'uri'
require 'net/http'

url = URI("{{baseUrl}}/v1/courses/:id")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Patch.new(url)
request["content-type"] = 'application/json'
request.body = "{\n  \"alternateLink\": \"\",\n  \"calendarId\": \"\",\n  \"courseGroupEmail\": \"\",\n  \"courseMaterialSets\": [\n    {\n      \"materials\": [\n        {\n          \"driveFile\": {\n            \"alternateLink\": \"\",\n            \"id\": \"\",\n            \"thumbnailUrl\": \"\",\n            \"title\": \"\"\n          },\n          \"form\": {\n            \"formUrl\": \"\",\n            \"responseUrl\": \"\",\n            \"thumbnailUrl\": \"\",\n            \"title\": \"\"\n          },\n          \"link\": {\n            \"thumbnailUrl\": \"\",\n            \"title\": \"\",\n            \"url\": \"\"\n          },\n          \"youTubeVideo\": {\n            \"alternateLink\": \"\",\n            \"id\": \"\",\n            \"thumbnailUrl\": \"\",\n            \"title\": \"\"\n          }\n        }\n      ],\n      \"title\": \"\"\n    }\n  ],\n  \"courseState\": \"\",\n  \"creationTime\": \"\",\n  \"description\": \"\",\n  \"descriptionHeading\": \"\",\n  \"enrollmentCode\": \"\",\n  \"gradebookSettings\": {\n    \"calculationType\": \"\",\n    \"displaySetting\": \"\",\n    \"gradeCategories\": [\n      {\n        \"defaultGradeDenominator\": 0,\n        \"id\": \"\",\n        \"name\": \"\",\n        \"weight\": 0\n      }\n    ]\n  },\n  \"guardiansEnabled\": false,\n  \"id\": \"\",\n  \"name\": \"\",\n  \"ownerId\": \"\",\n  \"room\": \"\",\n  \"section\": \"\",\n  \"teacherFolder\": {\n    \"alternateLink\": \"\",\n    \"id\": \"\",\n    \"title\": \"\"\n  },\n  \"teacherGroupEmail\": \"\",\n  \"updateTime\": \"\"\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.patch('/baseUrl/v1/courses/:id') do |req|
  req.body = "{\n  \"alternateLink\": \"\",\n  \"calendarId\": \"\",\n  \"courseGroupEmail\": \"\",\n  \"courseMaterialSets\": [\n    {\n      \"materials\": [\n        {\n          \"driveFile\": {\n            \"alternateLink\": \"\",\n            \"id\": \"\",\n            \"thumbnailUrl\": \"\",\n            \"title\": \"\"\n          },\n          \"form\": {\n            \"formUrl\": \"\",\n            \"responseUrl\": \"\",\n            \"thumbnailUrl\": \"\",\n            \"title\": \"\"\n          },\n          \"link\": {\n            \"thumbnailUrl\": \"\",\n            \"title\": \"\",\n            \"url\": \"\"\n          },\n          \"youTubeVideo\": {\n            \"alternateLink\": \"\",\n            \"id\": \"\",\n            \"thumbnailUrl\": \"\",\n            \"title\": \"\"\n          }\n        }\n      ],\n      \"title\": \"\"\n    }\n  ],\n  \"courseState\": \"\",\n  \"creationTime\": \"\",\n  \"description\": \"\",\n  \"descriptionHeading\": \"\",\n  \"enrollmentCode\": \"\",\n  \"gradebookSettings\": {\n    \"calculationType\": \"\",\n    \"displaySetting\": \"\",\n    \"gradeCategories\": [\n      {\n        \"defaultGradeDenominator\": 0,\n        \"id\": \"\",\n        \"name\": \"\",\n        \"weight\": 0\n      }\n    ]\n  },\n  \"guardiansEnabled\": false,\n  \"id\": \"\",\n  \"name\": \"\",\n  \"ownerId\": \"\",\n  \"room\": \"\",\n  \"section\": \"\",\n  \"teacherFolder\": {\n    \"alternateLink\": \"\",\n    \"id\": \"\",\n    \"title\": \"\"\n  },\n  \"teacherGroupEmail\": \"\",\n  \"updateTime\": \"\"\n}"
end

puts response.status
puts response.body
use std::str::FromStr;
use serde_json::json;
use reqwest;

#[tokio::main]
pub async fn main() {
    let url = "{{baseUrl}}/v1/courses/:id";

    let payload = json!({
        "alternateLink": "",
        "calendarId": "",
        "courseGroupEmail": "",
        "courseMaterialSets": (
            json!({
                "materials": (
                    json!({
                        "driveFile": json!({
                            "alternateLink": "",
                            "id": "",
                            "thumbnailUrl": "",
                            "title": ""
                        }),
                        "form": json!({
                            "formUrl": "",
                            "responseUrl": "",
                            "thumbnailUrl": "",
                            "title": ""
                        }),
                        "link": json!({
                            "thumbnailUrl": "",
                            "title": "",
                            "url": ""
                        }),
                        "youTubeVideo": json!({
                            "alternateLink": "",
                            "id": "",
                            "thumbnailUrl": "",
                            "title": ""
                        })
                    })
                ),
                "title": ""
            })
        ),
        "courseState": "",
        "creationTime": "",
        "description": "",
        "descriptionHeading": "",
        "enrollmentCode": "",
        "gradebookSettings": json!({
            "calculationType": "",
            "displaySetting": "",
            "gradeCategories": (
                json!({
                    "defaultGradeDenominator": 0,
                    "id": "",
                    "name": "",
                    "weight": 0
                })
            )
        }),
        "guardiansEnabled": false,
        "id": "",
        "name": "",
        "ownerId": "",
        "room": "",
        "section": "",
        "teacherFolder": json!({
            "alternateLink": "",
            "id": "",
            "title": ""
        }),
        "teacherGroupEmail": "",
        "updateTime": ""
    });

    let mut headers = reqwest::header::HeaderMap::new();
    headers.insert("content-type", "application/json".parse().unwrap());

    let client = reqwest::Client::new();
    let response = client.request(reqwest::Method::from_str("PATCH").unwrap(), url)
        .headers(headers)
        .json(&payload)
        .send()
        .await;

    let results = response.unwrap()
        .json::()
        .await
        .unwrap();

    dbg!(results);
}
curl --request PATCH \
  --url {{baseUrl}}/v1/courses/:id \
  --header 'content-type: application/json' \
  --data '{
  "alternateLink": "",
  "calendarId": "",
  "courseGroupEmail": "",
  "courseMaterialSets": [
    {
      "materials": [
        {
          "driveFile": {
            "alternateLink": "",
            "id": "",
            "thumbnailUrl": "",
            "title": ""
          },
          "form": {
            "formUrl": "",
            "responseUrl": "",
            "thumbnailUrl": "",
            "title": ""
          },
          "link": {
            "thumbnailUrl": "",
            "title": "",
            "url": ""
          },
          "youTubeVideo": {
            "alternateLink": "",
            "id": "",
            "thumbnailUrl": "",
            "title": ""
          }
        }
      ],
      "title": ""
    }
  ],
  "courseState": "",
  "creationTime": "",
  "description": "",
  "descriptionHeading": "",
  "enrollmentCode": "",
  "gradebookSettings": {
    "calculationType": "",
    "displaySetting": "",
    "gradeCategories": [
      {
        "defaultGradeDenominator": 0,
        "id": "",
        "name": "",
        "weight": 0
      }
    ]
  },
  "guardiansEnabled": false,
  "id": "",
  "name": "",
  "ownerId": "",
  "room": "",
  "section": "",
  "teacherFolder": {
    "alternateLink": "",
    "id": "",
    "title": ""
  },
  "teacherGroupEmail": "",
  "updateTime": ""
}'
echo '{
  "alternateLink": "",
  "calendarId": "",
  "courseGroupEmail": "",
  "courseMaterialSets": [
    {
      "materials": [
        {
          "driveFile": {
            "alternateLink": "",
            "id": "",
            "thumbnailUrl": "",
            "title": ""
          },
          "form": {
            "formUrl": "",
            "responseUrl": "",
            "thumbnailUrl": "",
            "title": ""
          },
          "link": {
            "thumbnailUrl": "",
            "title": "",
            "url": ""
          },
          "youTubeVideo": {
            "alternateLink": "",
            "id": "",
            "thumbnailUrl": "",
            "title": ""
          }
        }
      ],
      "title": ""
    }
  ],
  "courseState": "",
  "creationTime": "",
  "description": "",
  "descriptionHeading": "",
  "enrollmentCode": "",
  "gradebookSettings": {
    "calculationType": "",
    "displaySetting": "",
    "gradeCategories": [
      {
        "defaultGradeDenominator": 0,
        "id": "",
        "name": "",
        "weight": 0
      }
    ]
  },
  "guardiansEnabled": false,
  "id": "",
  "name": "",
  "ownerId": "",
  "room": "",
  "section": "",
  "teacherFolder": {
    "alternateLink": "",
    "id": "",
    "title": ""
  },
  "teacherGroupEmail": "",
  "updateTime": ""
}' |  \
  http PATCH {{baseUrl}}/v1/courses/:id \
  content-type:application/json
wget --quiet \
  --method PATCH \
  --header 'content-type: application/json' \
  --body-data '{\n  "alternateLink": "",\n  "calendarId": "",\n  "courseGroupEmail": "",\n  "courseMaterialSets": [\n    {\n      "materials": [\n        {\n          "driveFile": {\n            "alternateLink": "",\n            "id": "",\n            "thumbnailUrl": "",\n            "title": ""\n          },\n          "form": {\n            "formUrl": "",\n            "responseUrl": "",\n            "thumbnailUrl": "",\n            "title": ""\n          },\n          "link": {\n            "thumbnailUrl": "",\n            "title": "",\n            "url": ""\n          },\n          "youTubeVideo": {\n            "alternateLink": "",\n            "id": "",\n            "thumbnailUrl": "",\n            "title": ""\n          }\n        }\n      ],\n      "title": ""\n    }\n  ],\n  "courseState": "",\n  "creationTime": "",\n  "description": "",\n  "descriptionHeading": "",\n  "enrollmentCode": "",\n  "gradebookSettings": {\n    "calculationType": "",\n    "displaySetting": "",\n    "gradeCategories": [\n      {\n        "defaultGradeDenominator": 0,\n        "id": "",\n        "name": "",\n        "weight": 0\n      }\n    ]\n  },\n  "guardiansEnabled": false,\n  "id": "",\n  "name": "",\n  "ownerId": "",\n  "room": "",\n  "section": "",\n  "teacherFolder": {\n    "alternateLink": "",\n    "id": "",\n    "title": ""\n  },\n  "teacherGroupEmail": "",\n  "updateTime": ""\n}' \
  --output-document \
  - {{baseUrl}}/v1/courses/:id
import Foundation

let headers = ["content-type": "application/json"]
let parameters = [
  "alternateLink": "",
  "calendarId": "",
  "courseGroupEmail": "",
  "courseMaterialSets": [
    [
      "materials": [
        [
          "driveFile": [
            "alternateLink": "",
            "id": "",
            "thumbnailUrl": "",
            "title": ""
          ],
          "form": [
            "formUrl": "",
            "responseUrl": "",
            "thumbnailUrl": "",
            "title": ""
          ],
          "link": [
            "thumbnailUrl": "",
            "title": "",
            "url": ""
          ],
          "youTubeVideo": [
            "alternateLink": "",
            "id": "",
            "thumbnailUrl": "",
            "title": ""
          ]
        ]
      ],
      "title": ""
    ]
  ],
  "courseState": "",
  "creationTime": "",
  "description": "",
  "descriptionHeading": "",
  "enrollmentCode": "",
  "gradebookSettings": [
    "calculationType": "",
    "displaySetting": "",
    "gradeCategories": [
      [
        "defaultGradeDenominator": 0,
        "id": "",
        "name": "",
        "weight": 0
      ]
    ]
  ],
  "guardiansEnabled": false,
  "id": "",
  "name": "",
  "ownerId": "",
  "room": "",
  "section": "",
  "teacherFolder": [
    "alternateLink": "",
    "id": "",
    "title": ""
  ],
  "teacherGroupEmail": "",
  "updateTime": ""
] as [String : Any]

let postData = JSONSerialization.data(withJSONObject: parameters, options: [])

let request = NSMutableURLRequest(url: NSURL(string: "{{baseUrl}}/v1/courses/:id")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "PATCH"
request.allHTTPHeaderFields = headers
request.httpBody = postData as Data

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error as Any)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
POST classroom.courses.students.create
{{baseUrl}}/v1/courses/:courseId/students
QUERY PARAMS

courseId
BODY json

{
  "courseId": "",
  "profile": {
    "emailAddress": "",
    "id": "",
    "name": {
      "familyName": "",
      "fullName": "",
      "givenName": ""
    },
    "permissions": [
      {
        "permission": ""
      }
    ],
    "photoUrl": "",
    "verifiedTeacher": false
  },
  "studentWorkFolder": {
    "alternateLink": "",
    "id": "",
    "title": ""
  },
  "userId": ""
}
Examples
REQUEST

CURL *hnd = curl_easy_init();

curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "POST");
curl_easy_setopt(hnd, CURLOPT_URL, "{{baseUrl}}/v1/courses/:courseId/students");

struct curl_slist *headers = NULL;
headers = curl_slist_append(headers, "content-type: application/json");
curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers);

curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\n  \"courseId\": \"\",\n  \"profile\": {\n    \"emailAddress\": \"\",\n    \"id\": \"\",\n    \"name\": {\n      \"familyName\": \"\",\n      \"fullName\": \"\",\n      \"givenName\": \"\"\n    },\n    \"permissions\": [\n      {\n        \"permission\": \"\"\n      }\n    ],\n    \"photoUrl\": \"\",\n    \"verifiedTeacher\": false\n  },\n  \"studentWorkFolder\": {\n    \"alternateLink\": \"\",\n    \"id\": \"\",\n    \"title\": \"\"\n  },\n  \"userId\": \"\"\n}");

CURLcode ret = curl_easy_perform(hnd);
(require '[clj-http.client :as client])

(client/post "{{baseUrl}}/v1/courses/:courseId/students" {:content-type :json
                                                                          :form-params {:courseId ""
                                                                                        :profile {:emailAddress ""
                                                                                                  :id ""
                                                                                                  :name {:familyName ""
                                                                                                         :fullName ""
                                                                                                         :givenName ""}
                                                                                                  :permissions [{:permission ""}]
                                                                                                  :photoUrl ""
                                                                                                  :verifiedTeacher false}
                                                                                        :studentWorkFolder {:alternateLink ""
                                                                                                            :id ""
                                                                                                            :title ""}
                                                                                        :userId ""}})
require "http/client"

url = "{{baseUrl}}/v1/courses/:courseId/students"
headers = HTTP::Headers{
  "content-type" => "application/json"
}
reqBody = "{\n  \"courseId\": \"\",\n  \"profile\": {\n    \"emailAddress\": \"\",\n    \"id\": \"\",\n    \"name\": {\n      \"familyName\": \"\",\n      \"fullName\": \"\",\n      \"givenName\": \"\"\n    },\n    \"permissions\": [\n      {\n        \"permission\": \"\"\n      }\n    ],\n    \"photoUrl\": \"\",\n    \"verifiedTeacher\": false\n  },\n  \"studentWorkFolder\": {\n    \"alternateLink\": \"\",\n    \"id\": \"\",\n    \"title\": \"\"\n  },\n  \"userId\": \"\"\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}}/v1/courses/:courseId/students"),
    Content = new StringContent("{\n  \"courseId\": \"\",\n  \"profile\": {\n    \"emailAddress\": \"\",\n    \"id\": \"\",\n    \"name\": {\n      \"familyName\": \"\",\n      \"fullName\": \"\",\n      \"givenName\": \"\"\n    },\n    \"permissions\": [\n      {\n        \"permission\": \"\"\n      }\n    ],\n    \"photoUrl\": \"\",\n    \"verifiedTeacher\": false\n  },\n  \"studentWorkFolder\": {\n    \"alternateLink\": \"\",\n    \"id\": \"\",\n    \"title\": \"\"\n  },\n  \"userId\": \"\"\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}}/v1/courses/:courseId/students");
var request = new RestRequest("", Method.Post);
request.AddHeader("content-type", "application/json");
request.AddParameter("application/json", "{\n  \"courseId\": \"\",\n  \"profile\": {\n    \"emailAddress\": \"\",\n    \"id\": \"\",\n    \"name\": {\n      \"familyName\": \"\",\n      \"fullName\": \"\",\n      \"givenName\": \"\"\n    },\n    \"permissions\": [\n      {\n        \"permission\": \"\"\n      }\n    ],\n    \"photoUrl\": \"\",\n    \"verifiedTeacher\": false\n  },\n  \"studentWorkFolder\": {\n    \"alternateLink\": \"\",\n    \"id\": \"\",\n    \"title\": \"\"\n  },\n  \"userId\": \"\"\n}", ParameterType.RequestBody);
var response = client.Execute(request);
package main

import (
	"fmt"
	"strings"
	"net/http"
	"io"
)

func main() {

	url := "{{baseUrl}}/v1/courses/:courseId/students"

	payload := strings.NewReader("{\n  \"courseId\": \"\",\n  \"profile\": {\n    \"emailAddress\": \"\",\n    \"id\": \"\",\n    \"name\": {\n      \"familyName\": \"\",\n      \"fullName\": \"\",\n      \"givenName\": \"\"\n    },\n    \"permissions\": [\n      {\n        \"permission\": \"\"\n      }\n    ],\n    \"photoUrl\": \"\",\n    \"verifiedTeacher\": false\n  },\n  \"studentWorkFolder\": {\n    \"alternateLink\": \"\",\n    \"id\": \"\",\n    \"title\": \"\"\n  },\n  \"userId\": \"\"\n}")

	req, _ := http.NewRequest("POST", url, payload)

	req.Header.Add("content-type", "application/json")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
POST /baseUrl/v1/courses/:courseId/students HTTP/1.1
Content-Type: application/json
Host: example.com
Content-Length: 386

{
  "courseId": "",
  "profile": {
    "emailAddress": "",
    "id": "",
    "name": {
      "familyName": "",
      "fullName": "",
      "givenName": ""
    },
    "permissions": [
      {
        "permission": ""
      }
    ],
    "photoUrl": "",
    "verifiedTeacher": false
  },
  "studentWorkFolder": {
    "alternateLink": "",
    "id": "",
    "title": ""
  },
  "userId": ""
}
AsyncHttpClient client = new DefaultAsyncHttpClient();
client.prepare("POST", "{{baseUrl}}/v1/courses/:courseId/students")
  .setHeader("content-type", "application/json")
  .setBody("{\n  \"courseId\": \"\",\n  \"profile\": {\n    \"emailAddress\": \"\",\n    \"id\": \"\",\n    \"name\": {\n      \"familyName\": \"\",\n      \"fullName\": \"\",\n      \"givenName\": \"\"\n    },\n    \"permissions\": [\n      {\n        \"permission\": \"\"\n      }\n    ],\n    \"photoUrl\": \"\",\n    \"verifiedTeacher\": false\n  },\n  \"studentWorkFolder\": {\n    \"alternateLink\": \"\",\n    \"id\": \"\",\n    \"title\": \"\"\n  },\n  \"userId\": \"\"\n}")
  .execute()
  .toCompletableFuture()
  .thenAccept(System.out::println)
  .join();

client.close();
HttpRequest request = HttpRequest.newBuilder()
    .uri(URI.create("{{baseUrl}}/v1/courses/:courseId/students"))
    .header("content-type", "application/json")
    .method("POST", HttpRequest.BodyPublishers.ofString("{\n  \"courseId\": \"\",\n  \"profile\": {\n    \"emailAddress\": \"\",\n    \"id\": \"\",\n    \"name\": {\n      \"familyName\": \"\",\n      \"fullName\": \"\",\n      \"givenName\": \"\"\n    },\n    \"permissions\": [\n      {\n        \"permission\": \"\"\n      }\n    ],\n    \"photoUrl\": \"\",\n    \"verifiedTeacher\": false\n  },\n  \"studentWorkFolder\": {\n    \"alternateLink\": \"\",\n    \"id\": \"\",\n    \"title\": \"\"\n  },\n  \"userId\": \"\"\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  \"courseId\": \"\",\n  \"profile\": {\n    \"emailAddress\": \"\",\n    \"id\": \"\",\n    \"name\": {\n      \"familyName\": \"\",\n      \"fullName\": \"\",\n      \"givenName\": \"\"\n    },\n    \"permissions\": [\n      {\n        \"permission\": \"\"\n      }\n    ],\n    \"photoUrl\": \"\",\n    \"verifiedTeacher\": false\n  },\n  \"studentWorkFolder\": {\n    \"alternateLink\": \"\",\n    \"id\": \"\",\n    \"title\": \"\"\n  },\n  \"userId\": \"\"\n}");
Request request = new Request.Builder()
  .url("{{baseUrl}}/v1/courses/:courseId/students")
  .post(body)
  .addHeader("content-type", "application/json")
  .build();

Response response = client.newCall(request).execute();
HttpResponse response = Unirest.post("{{baseUrl}}/v1/courses/:courseId/students")
  .header("content-type", "application/json")
  .body("{\n  \"courseId\": \"\",\n  \"profile\": {\n    \"emailAddress\": \"\",\n    \"id\": \"\",\n    \"name\": {\n      \"familyName\": \"\",\n      \"fullName\": \"\",\n      \"givenName\": \"\"\n    },\n    \"permissions\": [\n      {\n        \"permission\": \"\"\n      }\n    ],\n    \"photoUrl\": \"\",\n    \"verifiedTeacher\": false\n  },\n  \"studentWorkFolder\": {\n    \"alternateLink\": \"\",\n    \"id\": \"\",\n    \"title\": \"\"\n  },\n  \"userId\": \"\"\n}")
  .asString();
const data = JSON.stringify({
  courseId: '',
  profile: {
    emailAddress: '',
    id: '',
    name: {
      familyName: '',
      fullName: '',
      givenName: ''
    },
    permissions: [
      {
        permission: ''
      }
    ],
    photoUrl: '',
    verifiedTeacher: false
  },
  studentWorkFolder: {
    alternateLink: '',
    id: '',
    title: ''
  },
  userId: ''
});

const xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener('readystatechange', function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open('POST', '{{baseUrl}}/v1/courses/:courseId/students');
xhr.setRequestHeader('content-type', 'application/json');

xhr.send(data);
import axios from 'axios';

const options = {
  method: 'POST',
  url: '{{baseUrl}}/v1/courses/:courseId/students',
  headers: {'content-type': 'application/json'},
  data: {
    courseId: '',
    profile: {
      emailAddress: '',
      id: '',
      name: {familyName: '', fullName: '', givenName: ''},
      permissions: [{permission: ''}],
      photoUrl: '',
      verifiedTeacher: false
    },
    studentWorkFolder: {alternateLink: '', id: '', title: ''},
    userId: ''
  }
};

try {
  const { data } = await axios.request(options);
  console.log(data);
} catch (error) {
  console.error(error);
}
const url = '{{baseUrl}}/v1/courses/:courseId/students';
const options = {
  method: 'POST',
  headers: {'content-type': 'application/json'},
  body: '{"courseId":"","profile":{"emailAddress":"","id":"","name":{"familyName":"","fullName":"","givenName":""},"permissions":[{"permission":""}],"photoUrl":"","verifiedTeacher":false},"studentWorkFolder":{"alternateLink":"","id":"","title":""},"userId":""}'
};

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}}/v1/courses/:courseId/students',
  method: 'POST',
  headers: {
    'content-type': 'application/json'
  },
  processData: false,
  data: '{\n  "courseId": "",\n  "profile": {\n    "emailAddress": "",\n    "id": "",\n    "name": {\n      "familyName": "",\n      "fullName": "",\n      "givenName": ""\n    },\n    "permissions": [\n      {\n        "permission": ""\n      }\n    ],\n    "photoUrl": "",\n    "verifiedTeacher": false\n  },\n  "studentWorkFolder": {\n    "alternateLink": "",\n    "id": "",\n    "title": ""\n  },\n  "userId": ""\n}'
};

$.ajax(settings).done(function (response) {
  console.log(response);
});
val client = OkHttpClient()

val mediaType = MediaType.parse("application/json")
val body = RequestBody.create(mediaType, "{\n  \"courseId\": \"\",\n  \"profile\": {\n    \"emailAddress\": \"\",\n    \"id\": \"\",\n    \"name\": {\n      \"familyName\": \"\",\n      \"fullName\": \"\",\n      \"givenName\": \"\"\n    },\n    \"permissions\": [\n      {\n        \"permission\": \"\"\n      }\n    ],\n    \"photoUrl\": \"\",\n    \"verifiedTeacher\": false\n  },\n  \"studentWorkFolder\": {\n    \"alternateLink\": \"\",\n    \"id\": \"\",\n    \"title\": \"\"\n  },\n  \"userId\": \"\"\n}")
val request = Request.Builder()
  .url("{{baseUrl}}/v1/courses/:courseId/students")
  .post(body)
  .addHeader("content-type", "application/json")
  .build()

val response = client.newCall(request).execute()
const http = require('https');

const options = {
  method: 'POST',
  hostname: 'example.com',
  port: null,
  path: '/baseUrl/v1/courses/:courseId/students',
  headers: {
    'content-type': 'application/json'
  }
};

const req = http.request(options, function (res) {
  const chunks = [];

  res.on('data', function (chunk) {
    chunks.push(chunk);
  });

  res.on('end', function () {
    const body = Buffer.concat(chunks);
    console.log(body.toString());
  });
});

req.write(JSON.stringify({
  courseId: '',
  profile: {
    emailAddress: '',
    id: '',
    name: {familyName: '', fullName: '', givenName: ''},
    permissions: [{permission: ''}],
    photoUrl: '',
    verifiedTeacher: false
  },
  studentWorkFolder: {alternateLink: '', id: '', title: ''},
  userId: ''
}));
req.end();
const request = require('request');

const options = {
  method: 'POST',
  url: '{{baseUrl}}/v1/courses/:courseId/students',
  headers: {'content-type': 'application/json'},
  body: {
    courseId: '',
    profile: {
      emailAddress: '',
      id: '',
      name: {familyName: '', fullName: '', givenName: ''},
      permissions: [{permission: ''}],
      photoUrl: '',
      verifiedTeacher: false
    },
    studentWorkFolder: {alternateLink: '', id: '', title: ''},
    userId: ''
  },
  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}}/v1/courses/:courseId/students');

req.headers({
  'content-type': 'application/json'
});

req.type('json');
req.send({
  courseId: '',
  profile: {
    emailAddress: '',
    id: '',
    name: {
      familyName: '',
      fullName: '',
      givenName: ''
    },
    permissions: [
      {
        permission: ''
      }
    ],
    photoUrl: '',
    verifiedTeacher: false
  },
  studentWorkFolder: {
    alternateLink: '',
    id: '',
    title: ''
  },
  userId: ''
});

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}}/v1/courses/:courseId/students',
  headers: {'content-type': 'application/json'},
  data: {
    courseId: '',
    profile: {
      emailAddress: '',
      id: '',
      name: {familyName: '', fullName: '', givenName: ''},
      permissions: [{permission: ''}],
      photoUrl: '',
      verifiedTeacher: false
    },
    studentWorkFolder: {alternateLink: '', id: '', title: ''},
    userId: ''
  }
};

try {
  const { data } = await axios.request(options);
  console.log(data);
} catch (error) {
  console.error(error);
}
const fetch = require('node-fetch');

const url = '{{baseUrl}}/v1/courses/:courseId/students';
const options = {
  method: 'POST',
  headers: {'content-type': 'application/json'},
  body: '{"courseId":"","profile":{"emailAddress":"","id":"","name":{"familyName":"","fullName":"","givenName":""},"permissions":[{"permission":""}],"photoUrl":"","verifiedTeacher":false},"studentWorkFolder":{"alternateLink":"","id":"","title":""},"userId":""}'
};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
#import 

NSDictionary *headers = @{ @"content-type": @"application/json" };
NSDictionary *parameters = @{ @"courseId": @"",
                              @"profile": @{ @"emailAddress": @"", @"id": @"", @"name": @{ @"familyName": @"", @"fullName": @"", @"givenName": @"" }, @"permissions": @[ @{ @"permission": @"" } ], @"photoUrl": @"", @"verifiedTeacher": @NO },
                              @"studentWorkFolder": @{ @"alternateLink": @"", @"id": @"", @"title": @"" },
                              @"userId": @"" };

NSData *postData = [NSJSONSerialization dataWithJSONObject:parameters options:0 error:nil];

NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"{{baseUrl}}/v1/courses/:courseId/students"]
                                                       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}}/v1/courses/:courseId/students" in
let headers = Header.add (Header.init ()) "content-type" "application/json" in
let body = Cohttp_lwt_body.of_string "{\n  \"courseId\": \"\",\n  \"profile\": {\n    \"emailAddress\": \"\",\n    \"id\": \"\",\n    \"name\": {\n      \"familyName\": \"\",\n      \"fullName\": \"\",\n      \"givenName\": \"\"\n    },\n    \"permissions\": [\n      {\n        \"permission\": \"\"\n      }\n    ],\n    \"photoUrl\": \"\",\n    \"verifiedTeacher\": false\n  },\n  \"studentWorkFolder\": {\n    \"alternateLink\": \"\",\n    \"id\": \"\",\n    \"title\": \"\"\n  },\n  \"userId\": \"\"\n}" in

Client.call ~headers ~body `POST uri
>>= fun (res, body_stream) ->
  (* Do stuff with the result *)
 "{{baseUrl}}/v1/courses/:courseId/students",
  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([
    'courseId' => '',
    'profile' => [
        'emailAddress' => '',
        'id' => '',
        'name' => [
                'familyName' => '',
                'fullName' => '',
                'givenName' => ''
        ],
        'permissions' => [
                [
                                'permission' => ''
                ]
        ],
        'photoUrl' => '',
        'verifiedTeacher' => null
    ],
    'studentWorkFolder' => [
        'alternateLink' => '',
        'id' => '',
        'title' => ''
    ],
    'userId' => ''
  ]),
  CURLOPT_HTTPHEADER => [
    "content-type: application/json"
  ],
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
request('POST', '{{baseUrl}}/v1/courses/:courseId/students', [
  'body' => '{
  "courseId": "",
  "profile": {
    "emailAddress": "",
    "id": "",
    "name": {
      "familyName": "",
      "fullName": "",
      "givenName": ""
    },
    "permissions": [
      {
        "permission": ""
      }
    ],
    "photoUrl": "",
    "verifiedTeacher": false
  },
  "studentWorkFolder": {
    "alternateLink": "",
    "id": "",
    "title": ""
  },
  "userId": ""
}',
  'headers' => [
    'content-type' => 'application/json',
  ],
]);

echo $response->getBody();
setUrl('{{baseUrl}}/v1/courses/:courseId/students');
$request->setMethod(HTTP_METH_POST);

$request->setHeaders([
  'content-type' => 'application/json'
]);

$request->setContentType('application/json');
$request->setBody(json_encode([
  'courseId' => '',
  'profile' => [
    'emailAddress' => '',
    'id' => '',
    'name' => [
        'familyName' => '',
        'fullName' => '',
        'givenName' => ''
    ],
    'permissions' => [
        [
                'permission' => ''
        ]
    ],
    'photoUrl' => '',
    'verifiedTeacher' => null
  ],
  'studentWorkFolder' => [
    'alternateLink' => '',
    'id' => '',
    'title' => ''
  ],
  'userId' => ''
]));

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
append(json_encode([
  'courseId' => '',
  'profile' => [
    'emailAddress' => '',
    'id' => '',
    'name' => [
        'familyName' => '',
        'fullName' => '',
        'givenName' => ''
    ],
    'permissions' => [
        [
                'permission' => ''
        ]
    ],
    'photoUrl' => '',
    'verifiedTeacher' => null
  ],
  'studentWorkFolder' => [
    'alternateLink' => '',
    'id' => '',
    'title' => ''
  ],
  'userId' => ''
]));
$request->setRequestUrl('{{baseUrl}}/v1/courses/:courseId/students');
$request->setRequestMethod('POST');
$request->setBody($body);

$request->setHeaders([
  'content-type' => 'application/json'
]);

$client->enqueue($request)->send();
$response = $client->getResponse();

echo $response->getBody();
$headers=@{}
$headers.Add("content-type", "application/json")
$response = Invoke-WebRequest -Uri '{{baseUrl}}/v1/courses/:courseId/students' -Method POST -Headers $headers -ContentType 'application/json' -Body '{
  "courseId": "",
  "profile": {
    "emailAddress": "",
    "id": "",
    "name": {
      "familyName": "",
      "fullName": "",
      "givenName": ""
    },
    "permissions": [
      {
        "permission": ""
      }
    ],
    "photoUrl": "",
    "verifiedTeacher": false
  },
  "studentWorkFolder": {
    "alternateLink": "",
    "id": "",
    "title": ""
  },
  "userId": ""
}'
$headers=@{}
$headers.Add("content-type", "application/json")
$response = Invoke-RestMethod -Uri '{{baseUrl}}/v1/courses/:courseId/students' -Method POST -Headers $headers -ContentType 'application/json' -Body '{
  "courseId": "",
  "profile": {
    "emailAddress": "",
    "id": "",
    "name": {
      "familyName": "",
      "fullName": "",
      "givenName": ""
    },
    "permissions": [
      {
        "permission": ""
      }
    ],
    "photoUrl": "",
    "verifiedTeacher": false
  },
  "studentWorkFolder": {
    "alternateLink": "",
    "id": "",
    "title": ""
  },
  "userId": ""
}'
import http.client

conn = http.client.HTTPSConnection("example.com")

payload = "{\n  \"courseId\": \"\",\n  \"profile\": {\n    \"emailAddress\": \"\",\n    \"id\": \"\",\n    \"name\": {\n      \"familyName\": \"\",\n      \"fullName\": \"\",\n      \"givenName\": \"\"\n    },\n    \"permissions\": [\n      {\n        \"permission\": \"\"\n      }\n    ],\n    \"photoUrl\": \"\",\n    \"verifiedTeacher\": false\n  },\n  \"studentWorkFolder\": {\n    \"alternateLink\": \"\",\n    \"id\": \"\",\n    \"title\": \"\"\n  },\n  \"userId\": \"\"\n}"

headers = { 'content-type': "application/json" }

conn.request("POST", "/baseUrl/v1/courses/:courseId/students", payload, headers)

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))
import requests

url = "{{baseUrl}}/v1/courses/:courseId/students"

payload = {
    "courseId": "",
    "profile": {
        "emailAddress": "",
        "id": "",
        "name": {
            "familyName": "",
            "fullName": "",
            "givenName": ""
        },
        "permissions": [{ "permission": "" }],
        "photoUrl": "",
        "verifiedTeacher": False
    },
    "studentWorkFolder": {
        "alternateLink": "",
        "id": "",
        "title": ""
    },
    "userId": ""
}
headers = {"content-type": "application/json"}

response = requests.post(url, json=payload, headers=headers)

print(response.json())
library(httr)

url <- "{{baseUrl}}/v1/courses/:courseId/students"

payload <- "{\n  \"courseId\": \"\",\n  \"profile\": {\n    \"emailAddress\": \"\",\n    \"id\": \"\",\n    \"name\": {\n      \"familyName\": \"\",\n      \"fullName\": \"\",\n      \"givenName\": \"\"\n    },\n    \"permissions\": [\n      {\n        \"permission\": \"\"\n      }\n    ],\n    \"photoUrl\": \"\",\n    \"verifiedTeacher\": false\n  },\n  \"studentWorkFolder\": {\n    \"alternateLink\": \"\",\n    \"id\": \"\",\n    \"title\": \"\"\n  },\n  \"userId\": \"\"\n}"

encode <- "json"

response <- VERB("POST", url, body = payload, content_type("application/json"), encode = encode)

content(response, "text")
require 'uri'
require 'net/http'

url = URI("{{baseUrl}}/v1/courses/:courseId/students")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["content-type"] = 'application/json'
request.body = "{\n  \"courseId\": \"\",\n  \"profile\": {\n    \"emailAddress\": \"\",\n    \"id\": \"\",\n    \"name\": {\n      \"familyName\": \"\",\n      \"fullName\": \"\",\n      \"givenName\": \"\"\n    },\n    \"permissions\": [\n      {\n        \"permission\": \"\"\n      }\n    ],\n    \"photoUrl\": \"\",\n    \"verifiedTeacher\": false\n  },\n  \"studentWorkFolder\": {\n    \"alternateLink\": \"\",\n    \"id\": \"\",\n    \"title\": \"\"\n  },\n  \"userId\": \"\"\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/v1/courses/:courseId/students') do |req|
  req.body = "{\n  \"courseId\": \"\",\n  \"profile\": {\n    \"emailAddress\": \"\",\n    \"id\": \"\",\n    \"name\": {\n      \"familyName\": \"\",\n      \"fullName\": \"\",\n      \"givenName\": \"\"\n    },\n    \"permissions\": [\n      {\n        \"permission\": \"\"\n      }\n    ],\n    \"photoUrl\": \"\",\n    \"verifiedTeacher\": false\n  },\n  \"studentWorkFolder\": {\n    \"alternateLink\": \"\",\n    \"id\": \"\",\n    \"title\": \"\"\n  },\n  \"userId\": \"\"\n}"
end

puts response.status
puts response.body
use serde_json::json;
use reqwest;

#[tokio::main]
pub async fn main() {
    let url = "{{baseUrl}}/v1/courses/:courseId/students";

    let payload = json!({
        "courseId": "",
        "profile": json!({
            "emailAddress": "",
            "id": "",
            "name": json!({
                "familyName": "",
                "fullName": "",
                "givenName": ""
            }),
            "permissions": (json!({"permission": ""})),
            "photoUrl": "",
            "verifiedTeacher": false
        }),
        "studentWorkFolder": json!({
            "alternateLink": "",
            "id": "",
            "title": ""
        }),
        "userId": ""
    });

    let mut headers = reqwest::header::HeaderMap::new();
    headers.insert("content-type", "application/json".parse().unwrap());

    let client = reqwest::Client::new();
    let response = client.post(url)
        .headers(headers)
        .json(&payload)
        .send()
        .await;

    let results = response.unwrap()
        .json::()
        .await
        .unwrap();

    dbg!(results);
}
curl --request POST \
  --url {{baseUrl}}/v1/courses/:courseId/students \
  --header 'content-type: application/json' \
  --data '{
  "courseId": "",
  "profile": {
    "emailAddress": "",
    "id": "",
    "name": {
      "familyName": "",
      "fullName": "",
      "givenName": ""
    },
    "permissions": [
      {
        "permission": ""
      }
    ],
    "photoUrl": "",
    "verifiedTeacher": false
  },
  "studentWorkFolder": {
    "alternateLink": "",
    "id": "",
    "title": ""
  },
  "userId": ""
}'
echo '{
  "courseId": "",
  "profile": {
    "emailAddress": "",
    "id": "",
    "name": {
      "familyName": "",
      "fullName": "",
      "givenName": ""
    },
    "permissions": [
      {
        "permission": ""
      }
    ],
    "photoUrl": "",
    "verifiedTeacher": false
  },
  "studentWorkFolder": {
    "alternateLink": "",
    "id": "",
    "title": ""
  },
  "userId": ""
}' |  \
  http POST {{baseUrl}}/v1/courses/:courseId/students \
  content-type:application/json
wget --quiet \
  --method POST \
  --header 'content-type: application/json' \
  --body-data '{\n  "courseId": "",\n  "profile": {\n    "emailAddress": "",\n    "id": "",\n    "name": {\n      "familyName": "",\n      "fullName": "",\n      "givenName": ""\n    },\n    "permissions": [\n      {\n        "permission": ""\n      }\n    ],\n    "photoUrl": "",\n    "verifiedTeacher": false\n  },\n  "studentWorkFolder": {\n    "alternateLink": "",\n    "id": "",\n    "title": ""\n  },\n  "userId": ""\n}' \
  --output-document \
  - {{baseUrl}}/v1/courses/:courseId/students
import Foundation

let headers = ["content-type": "application/json"]
let parameters = [
  "courseId": "",
  "profile": [
    "emailAddress": "",
    "id": "",
    "name": [
      "familyName": "",
      "fullName": "",
      "givenName": ""
    ],
    "permissions": [["permission": ""]],
    "photoUrl": "",
    "verifiedTeacher": false
  ],
  "studentWorkFolder": [
    "alternateLink": "",
    "id": "",
    "title": ""
  ],
  "userId": ""
] as [String : Any]

let postData = JSONSerialization.data(withJSONObject: parameters, options: [])

let request = NSMutableURLRequest(url: NSURL(string: "{{baseUrl}}/v1/courses/:courseId/students")! 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()
DELETE classroom.courses.students.delete
{{baseUrl}}/v1/courses/:courseId/students/:userId
QUERY PARAMS

courseId
userId
Examples
REQUEST

CURL *hnd = curl_easy_init();

curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "DELETE");
curl_easy_setopt(hnd, CURLOPT_URL, "{{baseUrl}}/v1/courses/:courseId/students/:userId");

CURLcode ret = curl_easy_perform(hnd);
(require '[clj-http.client :as client])

(client/delete "{{baseUrl}}/v1/courses/:courseId/students/:userId")
require "http/client"

url = "{{baseUrl}}/v1/courses/:courseId/students/:userId"

response = HTTP::Client.delete url
puts response.body
using System.Net.Http.Headers;
var client = new HttpClient();
var request = new HttpRequestMessage
{
    Method = HttpMethod.Delete,
    RequestUri = new Uri("{{baseUrl}}/v1/courses/:courseId/students/:userId"),
};
using (var response = await client.SendAsync(request))
{
    response.EnsureSuccessStatusCode();
    var body = await response.Content.ReadAsStringAsync();
    Console.WriteLine(body);
}
var client = new RestClient("{{baseUrl}}/v1/courses/:courseId/students/:userId");
var request = new RestRequest("", Method.Delete);
var response = client.Execute(request);
package main

import (
	"fmt"
	"net/http"
	"io"
)

func main() {

	url := "{{baseUrl}}/v1/courses/:courseId/students/:userId"

	req, _ := http.NewRequest("DELETE", url, nil)

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
DELETE /baseUrl/v1/courses/:courseId/students/:userId HTTP/1.1
Host: example.com

AsyncHttpClient client = new DefaultAsyncHttpClient();
client.prepare("DELETE", "{{baseUrl}}/v1/courses/:courseId/students/:userId")
  .execute()
  .toCompletableFuture()
  .thenAccept(System.out::println)
  .join();

client.close();
HttpRequest request = HttpRequest.newBuilder()
    .uri(URI.create("{{baseUrl}}/v1/courses/:courseId/students/:userId"))
    .method("DELETE", 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}}/v1/courses/:courseId/students/:userId")
  .delete(null)
  .build();

Response response = client.newCall(request).execute();
HttpResponse response = Unirest.delete("{{baseUrl}}/v1/courses/:courseId/students/:userId")
  .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('DELETE', '{{baseUrl}}/v1/courses/:courseId/students/:userId');

xhr.send(data);
import axios from 'axios';

const options = {
  method: 'DELETE',
  url: '{{baseUrl}}/v1/courses/:courseId/students/:userId'
};

try {
  const { data } = await axios.request(options);
  console.log(data);
} catch (error) {
  console.error(error);
}
const url = '{{baseUrl}}/v1/courses/:courseId/students/:userId';
const options = {method: 'DELETE'};

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}}/v1/courses/:courseId/students/:userId',
  method: 'DELETE',
  headers: {}
};

$.ajax(settings).done(function (response) {
  console.log(response);
});
val client = OkHttpClient()

val request = Request.Builder()
  .url("{{baseUrl}}/v1/courses/:courseId/students/:userId")
  .delete(null)
  .build()

val response = client.newCall(request).execute()
const http = require('https');

const options = {
  method: 'DELETE',
  hostname: 'example.com',
  port: null,
  path: '/baseUrl/v1/courses/:courseId/students/:userId',
  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: 'DELETE',
  url: '{{baseUrl}}/v1/courses/:courseId/students/:userId'
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
const unirest = require('unirest');

const req = unirest('DELETE', '{{baseUrl}}/v1/courses/:courseId/students/:userId');

req.end(function (res) {
  if (res.error) throw new Error(res.error);

  console.log(res.body);
});
const axios = require('axios').default;

const options = {
  method: 'DELETE',
  url: '{{baseUrl}}/v1/courses/:courseId/students/:userId'
};

try {
  const { data } = await axios.request(options);
  console.log(data);
} catch (error) {
  console.error(error);
}
const fetch = require('node-fetch');

const url = '{{baseUrl}}/v1/courses/:courseId/students/:userId';
const options = {method: 'DELETE'};

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}}/v1/courses/:courseId/students/:userId"]
                                                       cachePolicy:NSURLRequestUseProtocolCachePolicy
                                                   timeoutInterval:10.0];
[request setHTTPMethod:@"DELETE"];

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}}/v1/courses/:courseId/students/:userId" in

Client.call `DELETE uri
>>= fun (res, body_stream) ->
  (* Do stuff with the result *)
 "{{baseUrl}}/v1/courses/:courseId/students/:userId",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "DELETE",
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
request('DELETE', '{{baseUrl}}/v1/courses/:courseId/students/:userId');

echo $response->getBody();
setUrl('{{baseUrl}}/v1/courses/:courseId/students/:userId');
$request->setMethod(HTTP_METH_DELETE);

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
setRequestUrl('{{baseUrl}}/v1/courses/:courseId/students/:userId');
$request->setRequestMethod('DELETE');
$client->enqueue($request)->send();
$response = $client->getResponse();

echo $response->getBody();
$response = Invoke-WebRequest -Uri '{{baseUrl}}/v1/courses/:courseId/students/:userId' -Method DELETE 
$response = Invoke-RestMethod -Uri '{{baseUrl}}/v1/courses/:courseId/students/:userId' -Method DELETE 
import http.client

conn = http.client.HTTPSConnection("example.com")

conn.request("DELETE", "/baseUrl/v1/courses/:courseId/students/:userId")

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))
import requests

url = "{{baseUrl}}/v1/courses/:courseId/students/:userId"

response = requests.delete(url)

print(response.json())
library(httr)

url <- "{{baseUrl}}/v1/courses/:courseId/students/:userId"

response <- VERB("DELETE", url, content_type("application/octet-stream"))

content(response, "text")
require 'uri'
require 'net/http'

url = URI("{{baseUrl}}/v1/courses/:courseId/students/:userId")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Delete.new(url)

response = http.request(request)
puts response.read_body
require 'faraday'

conn = Faraday.new(
  url: 'https://example.com',
)

response = conn.delete('/baseUrl/v1/courses/:courseId/students/:userId') do |req|
end

puts response.status
puts response.body
use std::str::FromStr;
use reqwest;

#[tokio::main]
pub async fn main() {
    let url = "{{baseUrl}}/v1/courses/:courseId/students/:userId";

    let client = reqwest::Client::new();
    let response = client.request(reqwest::Method::from_str("DELETE").unwrap(), url)
        .send()
        .await;

    let results = response.unwrap()
        .json::()
        .await
        .unwrap();

    dbg!(results);
}
curl --request DELETE \
  --url {{baseUrl}}/v1/courses/:courseId/students/:userId
http DELETE {{baseUrl}}/v1/courses/:courseId/students/:userId
wget --quiet \
  --method DELETE \
  --output-document \
  - {{baseUrl}}/v1/courses/:courseId/students/:userId
import Foundation

let request = NSMutableURLRequest(url: NSURL(string: "{{baseUrl}}/v1/courses/:courseId/students/:userId")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "DELETE"

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 classroom.courses.students.get
{{baseUrl}}/v1/courses/:courseId/students/:userId
QUERY PARAMS

courseId
userId
Examples
REQUEST

CURL *hnd = curl_easy_init();

curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET");
curl_easy_setopt(hnd, CURLOPT_URL, "{{baseUrl}}/v1/courses/:courseId/students/:userId");

CURLcode ret = curl_easy_perform(hnd);
(require '[clj-http.client :as client])

(client/get "{{baseUrl}}/v1/courses/:courseId/students/:userId")
require "http/client"

url = "{{baseUrl}}/v1/courses/:courseId/students/:userId"

response = HTTP::Client.get url
puts response.body
using System.Net.Http.Headers;
var client = new HttpClient();
var request = new HttpRequestMessage
{
    Method = HttpMethod.Get,
    RequestUri = new Uri("{{baseUrl}}/v1/courses/:courseId/students/:userId"),
};
using (var response = await client.SendAsync(request))
{
    response.EnsureSuccessStatusCode();
    var body = await response.Content.ReadAsStringAsync();
    Console.WriteLine(body);
}
var client = new RestClient("{{baseUrl}}/v1/courses/:courseId/students/:userId");
var request = new RestRequest("", Method.Get);
var response = client.Execute(request);
package main

import (
	"fmt"
	"net/http"
	"io"
)

func main() {

	url := "{{baseUrl}}/v1/courses/:courseId/students/:userId"

	req, _ := http.NewRequest("GET", url, nil)

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
GET /baseUrl/v1/courses/:courseId/students/:userId HTTP/1.1
Host: example.com

AsyncHttpClient client = new DefaultAsyncHttpClient();
client.prepare("GET", "{{baseUrl}}/v1/courses/:courseId/students/:userId")
  .execute()
  .toCompletableFuture()
  .thenAccept(System.out::println)
  .join();

client.close();
HttpRequest request = HttpRequest.newBuilder()
    .uri(URI.create("{{baseUrl}}/v1/courses/:courseId/students/:userId"))
    .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}}/v1/courses/:courseId/students/:userId")
  .get()
  .build();

Response response = client.newCall(request).execute();
HttpResponse response = Unirest.get("{{baseUrl}}/v1/courses/:courseId/students/:userId")
  .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}}/v1/courses/:courseId/students/:userId');

xhr.send(data);
import axios from 'axios';

const options = {
  method: 'GET',
  url: '{{baseUrl}}/v1/courses/:courseId/students/:userId'
};

try {
  const { data } = await axios.request(options);
  console.log(data);
} catch (error) {
  console.error(error);
}
const url = '{{baseUrl}}/v1/courses/:courseId/students/:userId';
const options = {method: 'GET'};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
const settings = {
  async: true,
  crossDomain: true,
  url: '{{baseUrl}}/v1/courses/:courseId/students/:userId',
  method: 'GET',
  headers: {}
};

$.ajax(settings).done(function (response) {
  console.log(response);
});
val client = OkHttpClient()

val request = Request.Builder()
  .url("{{baseUrl}}/v1/courses/:courseId/students/:userId")
  .get()
  .build()

val response = client.newCall(request).execute()
const http = require('https');

const options = {
  method: 'GET',
  hostname: 'example.com',
  port: null,
  path: '/baseUrl/v1/courses/:courseId/students/:userId',
  headers: {}
};

const req = http.request(options, function (res) {
  const chunks = [];

  res.on('data', function (chunk) {
    chunks.push(chunk);
  });

  res.on('end', function () {
    const body = Buffer.concat(chunks);
    console.log(body.toString());
  });
});

req.end();
const request = require('request');

const options = {
  method: 'GET',
  url: '{{baseUrl}}/v1/courses/:courseId/students/:userId'
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
const unirest = require('unirest');

const req = unirest('GET', '{{baseUrl}}/v1/courses/:courseId/students/:userId');

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}}/v1/courses/:courseId/students/:userId'
};

try {
  const { data } = await axios.request(options);
  console.log(data);
} catch (error) {
  console.error(error);
}
const fetch = require('node-fetch');

const url = '{{baseUrl}}/v1/courses/:courseId/students/:userId';
const options = {method: 'GET'};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
#import 

NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"{{baseUrl}}/v1/courses/:courseId/students/:userId"]
                                                       cachePolicy:NSURLRequestUseProtocolCachePolicy
                                                   timeoutInterval:10.0];
[request setHTTPMethod:@"GET"];

NSURLSession *session = [NSURLSession sharedSession];
NSURLSessionDataTask *dataTask = [session dataTaskWithRequest:request
                                            completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
                                                if (error) {
                                                    NSLog(@"%@", error);
                                                } else {
                                                    NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse *) response;
                                                    NSLog(@"%@", httpResponse);
                                                }
                                            }];
[dataTask resume];
open Cohttp_lwt_unix
open Cohttp
open Lwt

let uri = Uri.of_string "{{baseUrl}}/v1/courses/:courseId/students/:userId" in

Client.call `GET uri
>>= fun (res, body_stream) ->
  (* Do stuff with the result *)
 "{{baseUrl}}/v1/courses/:courseId/students/:userId",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "GET",
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
request('GET', '{{baseUrl}}/v1/courses/:courseId/students/:userId');

echo $response->getBody();
setUrl('{{baseUrl}}/v1/courses/:courseId/students/:userId');
$request->setMethod(HTTP_METH_GET);

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
setRequestUrl('{{baseUrl}}/v1/courses/:courseId/students/:userId');
$request->setRequestMethod('GET');
$client->enqueue($request)->send();
$response = $client->getResponse();

echo $response->getBody();
$response = Invoke-WebRequest -Uri '{{baseUrl}}/v1/courses/:courseId/students/:userId' -Method GET 
$response = Invoke-RestMethod -Uri '{{baseUrl}}/v1/courses/:courseId/students/:userId' -Method GET 
import http.client

conn = http.client.HTTPSConnection("example.com")

conn.request("GET", "/baseUrl/v1/courses/:courseId/students/:userId")

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))
import requests

url = "{{baseUrl}}/v1/courses/:courseId/students/:userId"

response = requests.get(url)

print(response.json())
library(httr)

url <- "{{baseUrl}}/v1/courses/:courseId/students/:userId"

response <- VERB("GET", url, content_type("application/octet-stream"))

content(response, "text")
require 'uri'
require 'net/http'

url = URI("{{baseUrl}}/v1/courses/:courseId/students/:userId")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
require 'faraday'

conn = Faraday.new(
  url: 'https://example.com',
)

response = conn.get('/baseUrl/v1/courses/:courseId/students/:userId') do |req|
end

puts response.status
puts response.body
use reqwest;

#[tokio::main]
pub async fn main() {
    let url = "{{baseUrl}}/v1/courses/:courseId/students/:userId";

    let client = reqwest::Client::new();
    let response = client.get(url)
        .send()
        .await;

    let results = response.unwrap()
        .json::()
        .await
        .unwrap();

    dbg!(results);
}
curl --request GET \
  --url {{baseUrl}}/v1/courses/:courseId/students/:userId
http GET {{baseUrl}}/v1/courses/:courseId/students/:userId
wget --quiet \
  --method GET \
  --output-document \
  - {{baseUrl}}/v1/courses/:courseId/students/:userId
import Foundation

let request = NSMutableURLRequest(url: NSURL(string: "{{baseUrl}}/v1/courses/:courseId/students/:userId")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error as Any)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
GET classroom.courses.students.list
{{baseUrl}}/v1/courses/:courseId/students
QUERY PARAMS

courseId
Examples
REQUEST

CURL *hnd = curl_easy_init();

curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET");
curl_easy_setopt(hnd, CURLOPT_URL, "{{baseUrl}}/v1/courses/:courseId/students");

CURLcode ret = curl_easy_perform(hnd);
(require '[clj-http.client :as client])

(client/get "{{baseUrl}}/v1/courses/:courseId/students")
require "http/client"

url = "{{baseUrl}}/v1/courses/:courseId/students"

response = HTTP::Client.get url
puts response.body
using System.Net.Http.Headers;
var client = new HttpClient();
var request = new HttpRequestMessage
{
    Method = HttpMethod.Get,
    RequestUri = new Uri("{{baseUrl}}/v1/courses/:courseId/students"),
};
using (var response = await client.SendAsync(request))
{
    response.EnsureSuccessStatusCode();
    var body = await response.Content.ReadAsStringAsync();
    Console.WriteLine(body);
}
var client = new RestClient("{{baseUrl}}/v1/courses/:courseId/students");
var request = new RestRequest("", Method.Get);
var response = client.Execute(request);
package main

import (
	"fmt"
	"net/http"
	"io"
)

func main() {

	url := "{{baseUrl}}/v1/courses/:courseId/students"

	req, _ := http.NewRequest("GET", url, nil)

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
GET /baseUrl/v1/courses/:courseId/students HTTP/1.1
Host: example.com

AsyncHttpClient client = new DefaultAsyncHttpClient();
client.prepare("GET", "{{baseUrl}}/v1/courses/:courseId/students")
  .execute()
  .toCompletableFuture()
  .thenAccept(System.out::println)
  .join();

client.close();
HttpRequest request = HttpRequest.newBuilder()
    .uri(URI.create("{{baseUrl}}/v1/courses/:courseId/students"))
    .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}}/v1/courses/:courseId/students")
  .get()
  .build();

Response response = client.newCall(request).execute();
HttpResponse response = Unirest.get("{{baseUrl}}/v1/courses/:courseId/students")
  .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}}/v1/courses/:courseId/students');

xhr.send(data);
import axios from 'axios';

const options = {
  method: 'GET',
  url: '{{baseUrl}}/v1/courses/:courseId/students'
};

try {
  const { data } = await axios.request(options);
  console.log(data);
} catch (error) {
  console.error(error);
}
const url = '{{baseUrl}}/v1/courses/:courseId/students';
const options = {method: 'GET'};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
const settings = {
  async: true,
  crossDomain: true,
  url: '{{baseUrl}}/v1/courses/:courseId/students',
  method: 'GET',
  headers: {}
};

$.ajax(settings).done(function (response) {
  console.log(response);
});
val client = OkHttpClient()

val request = Request.Builder()
  .url("{{baseUrl}}/v1/courses/:courseId/students")
  .get()
  .build()

val response = client.newCall(request).execute()
const http = require('https');

const options = {
  method: 'GET',
  hostname: 'example.com',
  port: null,
  path: '/baseUrl/v1/courses/:courseId/students',
  headers: {}
};

const req = http.request(options, function (res) {
  const chunks = [];

  res.on('data', function (chunk) {
    chunks.push(chunk);
  });

  res.on('end', function () {
    const body = Buffer.concat(chunks);
    console.log(body.toString());
  });
});

req.end();
const request = require('request');

const options = {
  method: 'GET',
  url: '{{baseUrl}}/v1/courses/:courseId/students'
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
const unirest = require('unirest');

const req = unirest('GET', '{{baseUrl}}/v1/courses/:courseId/students');

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}}/v1/courses/:courseId/students'
};

try {
  const { data } = await axios.request(options);
  console.log(data);
} catch (error) {
  console.error(error);
}
const fetch = require('node-fetch');

const url = '{{baseUrl}}/v1/courses/:courseId/students';
const options = {method: 'GET'};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
#import 

NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"{{baseUrl}}/v1/courses/:courseId/students"]
                                                       cachePolicy:NSURLRequestUseProtocolCachePolicy
                                                   timeoutInterval:10.0];
[request setHTTPMethod:@"GET"];

NSURLSession *session = [NSURLSession sharedSession];
NSURLSessionDataTask *dataTask = [session dataTaskWithRequest:request
                                            completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
                                                if (error) {
                                                    NSLog(@"%@", error);
                                                } else {
                                                    NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse *) response;
                                                    NSLog(@"%@", httpResponse);
                                                }
                                            }];
[dataTask resume];
open Cohttp_lwt_unix
open Cohttp
open Lwt

let uri = Uri.of_string "{{baseUrl}}/v1/courses/:courseId/students" in

Client.call `GET uri
>>= fun (res, body_stream) ->
  (* Do stuff with the result *)
 "{{baseUrl}}/v1/courses/:courseId/students",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "GET",
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
request('GET', '{{baseUrl}}/v1/courses/:courseId/students');

echo $response->getBody();
setUrl('{{baseUrl}}/v1/courses/:courseId/students');
$request->setMethod(HTTP_METH_GET);

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
setRequestUrl('{{baseUrl}}/v1/courses/:courseId/students');
$request->setRequestMethod('GET');
$client->enqueue($request)->send();
$response = $client->getResponse();

echo $response->getBody();
$response = Invoke-WebRequest -Uri '{{baseUrl}}/v1/courses/:courseId/students' -Method GET 
$response = Invoke-RestMethod -Uri '{{baseUrl}}/v1/courses/:courseId/students' -Method GET 
import http.client

conn = http.client.HTTPSConnection("example.com")

conn.request("GET", "/baseUrl/v1/courses/:courseId/students")

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))
import requests

url = "{{baseUrl}}/v1/courses/:courseId/students"

response = requests.get(url)

print(response.json())
library(httr)

url <- "{{baseUrl}}/v1/courses/:courseId/students"

response <- VERB("GET", url, content_type("application/octet-stream"))

content(response, "text")
require 'uri'
require 'net/http'

url = URI("{{baseUrl}}/v1/courses/:courseId/students")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
require 'faraday'

conn = Faraday.new(
  url: 'https://example.com',
)

response = conn.get('/baseUrl/v1/courses/:courseId/students') do |req|
end

puts response.status
puts response.body
use reqwest;

#[tokio::main]
pub async fn main() {
    let url = "{{baseUrl}}/v1/courses/:courseId/students";

    let client = reqwest::Client::new();
    let response = client.get(url)
        .send()
        .await;

    let results = response.unwrap()
        .json::()
        .await
        .unwrap();

    dbg!(results);
}
curl --request GET \
  --url {{baseUrl}}/v1/courses/:courseId/students
http GET {{baseUrl}}/v1/courses/:courseId/students
wget --quiet \
  --method GET \
  --output-document \
  - {{baseUrl}}/v1/courses/:courseId/students
import Foundation

let request = NSMutableURLRequest(url: NSURL(string: "{{baseUrl}}/v1/courses/:courseId/students")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error as Any)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
POST classroom.courses.teachers.create
{{baseUrl}}/v1/courses/:courseId/teachers
QUERY PARAMS

courseId
BODY json

{
  "courseId": "",
  "profile": {
    "emailAddress": "",
    "id": "",
    "name": {
      "familyName": "",
      "fullName": "",
      "givenName": ""
    },
    "permissions": [
      {
        "permission": ""
      }
    ],
    "photoUrl": "",
    "verifiedTeacher": false
  },
  "userId": ""
}
Examples
REQUEST

CURL *hnd = curl_easy_init();

curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "POST");
curl_easy_setopt(hnd, CURLOPT_URL, "{{baseUrl}}/v1/courses/:courseId/teachers");

struct curl_slist *headers = NULL;
headers = curl_slist_append(headers, "content-type: application/json");
curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers);

curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\n  \"courseId\": \"\",\n  \"profile\": {\n    \"emailAddress\": \"\",\n    \"id\": \"\",\n    \"name\": {\n      \"familyName\": \"\",\n      \"fullName\": \"\",\n      \"givenName\": \"\"\n    },\n    \"permissions\": [\n      {\n        \"permission\": \"\"\n      }\n    ],\n    \"photoUrl\": \"\",\n    \"verifiedTeacher\": false\n  },\n  \"userId\": \"\"\n}");

CURLcode ret = curl_easy_perform(hnd);
(require '[clj-http.client :as client])

(client/post "{{baseUrl}}/v1/courses/:courseId/teachers" {:content-type :json
                                                                          :form-params {:courseId ""
                                                                                        :profile {:emailAddress ""
                                                                                                  :id ""
                                                                                                  :name {:familyName ""
                                                                                                         :fullName ""
                                                                                                         :givenName ""}
                                                                                                  :permissions [{:permission ""}]
                                                                                                  :photoUrl ""
                                                                                                  :verifiedTeacher false}
                                                                                        :userId ""}})
require "http/client"

url = "{{baseUrl}}/v1/courses/:courseId/teachers"
headers = HTTP::Headers{
  "content-type" => "application/json"
}
reqBody = "{\n  \"courseId\": \"\",\n  \"profile\": {\n    \"emailAddress\": \"\",\n    \"id\": \"\",\n    \"name\": {\n      \"familyName\": \"\",\n      \"fullName\": \"\",\n      \"givenName\": \"\"\n    },\n    \"permissions\": [\n      {\n        \"permission\": \"\"\n      }\n    ],\n    \"photoUrl\": \"\",\n    \"verifiedTeacher\": false\n  },\n  \"userId\": \"\"\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}}/v1/courses/:courseId/teachers"),
    Content = new StringContent("{\n  \"courseId\": \"\",\n  \"profile\": {\n    \"emailAddress\": \"\",\n    \"id\": \"\",\n    \"name\": {\n      \"familyName\": \"\",\n      \"fullName\": \"\",\n      \"givenName\": \"\"\n    },\n    \"permissions\": [\n      {\n        \"permission\": \"\"\n      }\n    ],\n    \"photoUrl\": \"\",\n    \"verifiedTeacher\": false\n  },\n  \"userId\": \"\"\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}}/v1/courses/:courseId/teachers");
var request = new RestRequest("", Method.Post);
request.AddHeader("content-type", "application/json");
request.AddParameter("application/json", "{\n  \"courseId\": \"\",\n  \"profile\": {\n    \"emailAddress\": \"\",\n    \"id\": \"\",\n    \"name\": {\n      \"familyName\": \"\",\n      \"fullName\": \"\",\n      \"givenName\": \"\"\n    },\n    \"permissions\": [\n      {\n        \"permission\": \"\"\n      }\n    ],\n    \"photoUrl\": \"\",\n    \"verifiedTeacher\": false\n  },\n  \"userId\": \"\"\n}", ParameterType.RequestBody);
var response = client.Execute(request);
package main

import (
	"fmt"
	"strings"
	"net/http"
	"io"
)

func main() {

	url := "{{baseUrl}}/v1/courses/:courseId/teachers"

	payload := strings.NewReader("{\n  \"courseId\": \"\",\n  \"profile\": {\n    \"emailAddress\": \"\",\n    \"id\": \"\",\n    \"name\": {\n      \"familyName\": \"\",\n      \"fullName\": \"\",\n      \"givenName\": \"\"\n    },\n    \"permissions\": [\n      {\n        \"permission\": \"\"\n      }\n    ],\n    \"photoUrl\": \"\",\n    \"verifiedTeacher\": false\n  },\n  \"userId\": \"\"\n}")

	req, _ := http.NewRequest("POST", url, payload)

	req.Header.Add("content-type", "application/json")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
POST /baseUrl/v1/courses/:courseId/teachers HTTP/1.1
Content-Type: application/json
Host: example.com
Content-Length: 301

{
  "courseId": "",
  "profile": {
    "emailAddress": "",
    "id": "",
    "name": {
      "familyName": "",
      "fullName": "",
      "givenName": ""
    },
    "permissions": [
      {
        "permission": ""
      }
    ],
    "photoUrl": "",
    "verifiedTeacher": false
  },
  "userId": ""
}
AsyncHttpClient client = new DefaultAsyncHttpClient();
client.prepare("POST", "{{baseUrl}}/v1/courses/:courseId/teachers")
  .setHeader("content-type", "application/json")
  .setBody("{\n  \"courseId\": \"\",\n  \"profile\": {\n    \"emailAddress\": \"\",\n    \"id\": \"\",\n    \"name\": {\n      \"familyName\": \"\",\n      \"fullName\": \"\",\n      \"givenName\": \"\"\n    },\n    \"permissions\": [\n      {\n        \"permission\": \"\"\n      }\n    ],\n    \"photoUrl\": \"\",\n    \"verifiedTeacher\": false\n  },\n  \"userId\": \"\"\n}")
  .execute()
  .toCompletableFuture()
  .thenAccept(System.out::println)
  .join();

client.close();
HttpRequest request = HttpRequest.newBuilder()
    .uri(URI.create("{{baseUrl}}/v1/courses/:courseId/teachers"))
    .header("content-type", "application/json")
    .method("POST", HttpRequest.BodyPublishers.ofString("{\n  \"courseId\": \"\",\n  \"profile\": {\n    \"emailAddress\": \"\",\n    \"id\": \"\",\n    \"name\": {\n      \"familyName\": \"\",\n      \"fullName\": \"\",\n      \"givenName\": \"\"\n    },\n    \"permissions\": [\n      {\n        \"permission\": \"\"\n      }\n    ],\n    \"photoUrl\": \"\",\n    \"verifiedTeacher\": false\n  },\n  \"userId\": \"\"\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  \"courseId\": \"\",\n  \"profile\": {\n    \"emailAddress\": \"\",\n    \"id\": \"\",\n    \"name\": {\n      \"familyName\": \"\",\n      \"fullName\": \"\",\n      \"givenName\": \"\"\n    },\n    \"permissions\": [\n      {\n        \"permission\": \"\"\n      }\n    ],\n    \"photoUrl\": \"\",\n    \"verifiedTeacher\": false\n  },\n  \"userId\": \"\"\n}");
Request request = new Request.Builder()
  .url("{{baseUrl}}/v1/courses/:courseId/teachers")
  .post(body)
  .addHeader("content-type", "application/json")
  .build();

Response response = client.newCall(request).execute();
HttpResponse response = Unirest.post("{{baseUrl}}/v1/courses/:courseId/teachers")
  .header("content-type", "application/json")
  .body("{\n  \"courseId\": \"\",\n  \"profile\": {\n    \"emailAddress\": \"\",\n    \"id\": \"\",\n    \"name\": {\n      \"familyName\": \"\",\n      \"fullName\": \"\",\n      \"givenName\": \"\"\n    },\n    \"permissions\": [\n      {\n        \"permission\": \"\"\n      }\n    ],\n    \"photoUrl\": \"\",\n    \"verifiedTeacher\": false\n  },\n  \"userId\": \"\"\n}")
  .asString();
const data = JSON.stringify({
  courseId: '',
  profile: {
    emailAddress: '',
    id: '',
    name: {
      familyName: '',
      fullName: '',
      givenName: ''
    },
    permissions: [
      {
        permission: ''
      }
    ],
    photoUrl: '',
    verifiedTeacher: false
  },
  userId: ''
});

const xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener('readystatechange', function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open('POST', '{{baseUrl}}/v1/courses/:courseId/teachers');
xhr.setRequestHeader('content-type', 'application/json');

xhr.send(data);
import axios from 'axios';

const options = {
  method: 'POST',
  url: '{{baseUrl}}/v1/courses/:courseId/teachers',
  headers: {'content-type': 'application/json'},
  data: {
    courseId: '',
    profile: {
      emailAddress: '',
      id: '',
      name: {familyName: '', fullName: '', givenName: ''},
      permissions: [{permission: ''}],
      photoUrl: '',
      verifiedTeacher: false
    },
    userId: ''
  }
};

try {
  const { data } = await axios.request(options);
  console.log(data);
} catch (error) {
  console.error(error);
}
const url = '{{baseUrl}}/v1/courses/:courseId/teachers';
const options = {
  method: 'POST',
  headers: {'content-type': 'application/json'},
  body: '{"courseId":"","profile":{"emailAddress":"","id":"","name":{"familyName":"","fullName":"","givenName":""},"permissions":[{"permission":""}],"photoUrl":"","verifiedTeacher":false},"userId":""}'
};

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}}/v1/courses/:courseId/teachers',
  method: 'POST',
  headers: {
    'content-type': 'application/json'
  },
  processData: false,
  data: '{\n  "courseId": "",\n  "profile": {\n    "emailAddress": "",\n    "id": "",\n    "name": {\n      "familyName": "",\n      "fullName": "",\n      "givenName": ""\n    },\n    "permissions": [\n      {\n        "permission": ""\n      }\n    ],\n    "photoUrl": "",\n    "verifiedTeacher": false\n  },\n  "userId": ""\n}'
};

$.ajax(settings).done(function (response) {
  console.log(response);
});
val client = OkHttpClient()

val mediaType = MediaType.parse("application/json")
val body = RequestBody.create(mediaType, "{\n  \"courseId\": \"\",\n  \"profile\": {\n    \"emailAddress\": \"\",\n    \"id\": \"\",\n    \"name\": {\n      \"familyName\": \"\",\n      \"fullName\": \"\",\n      \"givenName\": \"\"\n    },\n    \"permissions\": [\n      {\n        \"permission\": \"\"\n      }\n    ],\n    \"photoUrl\": \"\",\n    \"verifiedTeacher\": false\n  },\n  \"userId\": \"\"\n}")
val request = Request.Builder()
  .url("{{baseUrl}}/v1/courses/:courseId/teachers")
  .post(body)
  .addHeader("content-type", "application/json")
  .build()

val response = client.newCall(request).execute()
const http = require('https');

const options = {
  method: 'POST',
  hostname: 'example.com',
  port: null,
  path: '/baseUrl/v1/courses/:courseId/teachers',
  headers: {
    'content-type': 'application/json'
  }
};

const req = http.request(options, function (res) {
  const chunks = [];

  res.on('data', function (chunk) {
    chunks.push(chunk);
  });

  res.on('end', function () {
    const body = Buffer.concat(chunks);
    console.log(body.toString());
  });
});

req.write(JSON.stringify({
  courseId: '',
  profile: {
    emailAddress: '',
    id: '',
    name: {familyName: '', fullName: '', givenName: ''},
    permissions: [{permission: ''}],
    photoUrl: '',
    verifiedTeacher: false
  },
  userId: ''
}));
req.end();
const request = require('request');

const options = {
  method: 'POST',
  url: '{{baseUrl}}/v1/courses/:courseId/teachers',
  headers: {'content-type': 'application/json'},
  body: {
    courseId: '',
    profile: {
      emailAddress: '',
      id: '',
      name: {familyName: '', fullName: '', givenName: ''},
      permissions: [{permission: ''}],
      photoUrl: '',
      verifiedTeacher: false
    },
    userId: ''
  },
  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}}/v1/courses/:courseId/teachers');

req.headers({
  'content-type': 'application/json'
});

req.type('json');
req.send({
  courseId: '',
  profile: {
    emailAddress: '',
    id: '',
    name: {
      familyName: '',
      fullName: '',
      givenName: ''
    },
    permissions: [
      {
        permission: ''
      }
    ],
    photoUrl: '',
    verifiedTeacher: false
  },
  userId: ''
});

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}}/v1/courses/:courseId/teachers',
  headers: {'content-type': 'application/json'},
  data: {
    courseId: '',
    profile: {
      emailAddress: '',
      id: '',
      name: {familyName: '', fullName: '', givenName: ''},
      permissions: [{permission: ''}],
      photoUrl: '',
      verifiedTeacher: false
    },
    userId: ''
  }
};

try {
  const { data } = await axios.request(options);
  console.log(data);
} catch (error) {
  console.error(error);
}
const fetch = require('node-fetch');

const url = '{{baseUrl}}/v1/courses/:courseId/teachers';
const options = {
  method: 'POST',
  headers: {'content-type': 'application/json'},
  body: '{"courseId":"","profile":{"emailAddress":"","id":"","name":{"familyName":"","fullName":"","givenName":""},"permissions":[{"permission":""}],"photoUrl":"","verifiedTeacher":false},"userId":""}'
};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
#import 

NSDictionary *headers = @{ @"content-type": @"application/json" };
NSDictionary *parameters = @{ @"courseId": @"",
                              @"profile": @{ @"emailAddress": @"", @"id": @"", @"name": @{ @"familyName": @"", @"fullName": @"", @"givenName": @"" }, @"permissions": @[ @{ @"permission": @"" } ], @"photoUrl": @"", @"verifiedTeacher": @NO },
                              @"userId": @"" };

NSData *postData = [NSJSONSerialization dataWithJSONObject:parameters options:0 error:nil];

NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"{{baseUrl}}/v1/courses/:courseId/teachers"]
                                                       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}}/v1/courses/:courseId/teachers" in
let headers = Header.add (Header.init ()) "content-type" "application/json" in
let body = Cohttp_lwt_body.of_string "{\n  \"courseId\": \"\",\n  \"profile\": {\n    \"emailAddress\": \"\",\n    \"id\": \"\",\n    \"name\": {\n      \"familyName\": \"\",\n      \"fullName\": \"\",\n      \"givenName\": \"\"\n    },\n    \"permissions\": [\n      {\n        \"permission\": \"\"\n      }\n    ],\n    \"photoUrl\": \"\",\n    \"verifiedTeacher\": false\n  },\n  \"userId\": \"\"\n}" in

Client.call ~headers ~body `POST uri
>>= fun (res, body_stream) ->
  (* Do stuff with the result *)
 "{{baseUrl}}/v1/courses/:courseId/teachers",
  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([
    'courseId' => '',
    'profile' => [
        'emailAddress' => '',
        'id' => '',
        'name' => [
                'familyName' => '',
                'fullName' => '',
                'givenName' => ''
        ],
        'permissions' => [
                [
                                'permission' => ''
                ]
        ],
        'photoUrl' => '',
        'verifiedTeacher' => null
    ],
    'userId' => ''
  ]),
  CURLOPT_HTTPHEADER => [
    "content-type: application/json"
  ],
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
request('POST', '{{baseUrl}}/v1/courses/:courseId/teachers', [
  'body' => '{
  "courseId": "",
  "profile": {
    "emailAddress": "",
    "id": "",
    "name": {
      "familyName": "",
      "fullName": "",
      "givenName": ""
    },
    "permissions": [
      {
        "permission": ""
      }
    ],
    "photoUrl": "",
    "verifiedTeacher": false
  },
  "userId": ""
}',
  'headers' => [
    'content-type' => 'application/json',
  ],
]);

echo $response->getBody();
setUrl('{{baseUrl}}/v1/courses/:courseId/teachers');
$request->setMethod(HTTP_METH_POST);

$request->setHeaders([
  'content-type' => 'application/json'
]);

$request->setContentType('application/json');
$request->setBody(json_encode([
  'courseId' => '',
  'profile' => [
    'emailAddress' => '',
    'id' => '',
    'name' => [
        'familyName' => '',
        'fullName' => '',
        'givenName' => ''
    ],
    'permissions' => [
        [
                'permission' => ''
        ]
    ],
    'photoUrl' => '',
    'verifiedTeacher' => null
  ],
  'userId' => ''
]));

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
append(json_encode([
  'courseId' => '',
  'profile' => [
    'emailAddress' => '',
    'id' => '',
    'name' => [
        'familyName' => '',
        'fullName' => '',
        'givenName' => ''
    ],
    'permissions' => [
        [
                'permission' => ''
        ]
    ],
    'photoUrl' => '',
    'verifiedTeacher' => null
  ],
  'userId' => ''
]));
$request->setRequestUrl('{{baseUrl}}/v1/courses/:courseId/teachers');
$request->setRequestMethod('POST');
$request->setBody($body);

$request->setHeaders([
  'content-type' => 'application/json'
]);

$client->enqueue($request)->send();
$response = $client->getResponse();

echo $response->getBody();
$headers=@{}
$headers.Add("content-type", "application/json")
$response = Invoke-WebRequest -Uri '{{baseUrl}}/v1/courses/:courseId/teachers' -Method POST -Headers $headers -ContentType 'application/json' -Body '{
  "courseId": "",
  "profile": {
    "emailAddress": "",
    "id": "",
    "name": {
      "familyName": "",
      "fullName": "",
      "givenName": ""
    },
    "permissions": [
      {
        "permission": ""
      }
    ],
    "photoUrl": "",
    "verifiedTeacher": false
  },
  "userId": ""
}'
$headers=@{}
$headers.Add("content-type", "application/json")
$response = Invoke-RestMethod -Uri '{{baseUrl}}/v1/courses/:courseId/teachers' -Method POST -Headers $headers -ContentType 'application/json' -Body '{
  "courseId": "",
  "profile": {
    "emailAddress": "",
    "id": "",
    "name": {
      "familyName": "",
      "fullName": "",
      "givenName": ""
    },
    "permissions": [
      {
        "permission": ""
      }
    ],
    "photoUrl": "",
    "verifiedTeacher": false
  },
  "userId": ""
}'
import http.client

conn = http.client.HTTPSConnection("example.com")

payload = "{\n  \"courseId\": \"\",\n  \"profile\": {\n    \"emailAddress\": \"\",\n    \"id\": \"\",\n    \"name\": {\n      \"familyName\": \"\",\n      \"fullName\": \"\",\n      \"givenName\": \"\"\n    },\n    \"permissions\": [\n      {\n        \"permission\": \"\"\n      }\n    ],\n    \"photoUrl\": \"\",\n    \"verifiedTeacher\": false\n  },\n  \"userId\": \"\"\n}"

headers = { 'content-type': "application/json" }

conn.request("POST", "/baseUrl/v1/courses/:courseId/teachers", payload, headers)

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))
import requests

url = "{{baseUrl}}/v1/courses/:courseId/teachers"

payload = {
    "courseId": "",
    "profile": {
        "emailAddress": "",
        "id": "",
        "name": {
            "familyName": "",
            "fullName": "",
            "givenName": ""
        },
        "permissions": [{ "permission": "" }],
        "photoUrl": "",
        "verifiedTeacher": False
    },
    "userId": ""
}
headers = {"content-type": "application/json"}

response = requests.post(url, json=payload, headers=headers)

print(response.json())
library(httr)

url <- "{{baseUrl}}/v1/courses/:courseId/teachers"

payload <- "{\n  \"courseId\": \"\",\n  \"profile\": {\n    \"emailAddress\": \"\",\n    \"id\": \"\",\n    \"name\": {\n      \"familyName\": \"\",\n      \"fullName\": \"\",\n      \"givenName\": \"\"\n    },\n    \"permissions\": [\n      {\n        \"permission\": \"\"\n      }\n    ],\n    \"photoUrl\": \"\",\n    \"verifiedTeacher\": false\n  },\n  \"userId\": \"\"\n}"

encode <- "json"

response <- VERB("POST", url, body = payload, content_type("application/json"), encode = encode)

content(response, "text")
require 'uri'
require 'net/http'

url = URI("{{baseUrl}}/v1/courses/:courseId/teachers")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["content-type"] = 'application/json'
request.body = "{\n  \"courseId\": \"\",\n  \"profile\": {\n    \"emailAddress\": \"\",\n    \"id\": \"\",\n    \"name\": {\n      \"familyName\": \"\",\n      \"fullName\": \"\",\n      \"givenName\": \"\"\n    },\n    \"permissions\": [\n      {\n        \"permission\": \"\"\n      }\n    ],\n    \"photoUrl\": \"\",\n    \"verifiedTeacher\": false\n  },\n  \"userId\": \"\"\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/v1/courses/:courseId/teachers') do |req|
  req.body = "{\n  \"courseId\": \"\",\n  \"profile\": {\n    \"emailAddress\": \"\",\n    \"id\": \"\",\n    \"name\": {\n      \"familyName\": \"\",\n      \"fullName\": \"\",\n      \"givenName\": \"\"\n    },\n    \"permissions\": [\n      {\n        \"permission\": \"\"\n      }\n    ],\n    \"photoUrl\": \"\",\n    \"verifiedTeacher\": false\n  },\n  \"userId\": \"\"\n}"
end

puts response.status
puts response.body
use serde_json::json;
use reqwest;

#[tokio::main]
pub async fn main() {
    let url = "{{baseUrl}}/v1/courses/:courseId/teachers";

    let payload = json!({
        "courseId": "",
        "profile": json!({
            "emailAddress": "",
            "id": "",
            "name": json!({
                "familyName": "",
                "fullName": "",
                "givenName": ""
            }),
            "permissions": (json!({"permission": ""})),
            "photoUrl": "",
            "verifiedTeacher": false
        }),
        "userId": ""
    });

    let mut headers = reqwest::header::HeaderMap::new();
    headers.insert("content-type", "application/json".parse().unwrap());

    let client = reqwest::Client::new();
    let response = client.post(url)
        .headers(headers)
        .json(&payload)
        .send()
        .await;

    let results = response.unwrap()
        .json::()
        .await
        .unwrap();

    dbg!(results);
}
curl --request POST \
  --url {{baseUrl}}/v1/courses/:courseId/teachers \
  --header 'content-type: application/json' \
  --data '{
  "courseId": "",
  "profile": {
    "emailAddress": "",
    "id": "",
    "name": {
      "familyName": "",
      "fullName": "",
      "givenName": ""
    },
    "permissions": [
      {
        "permission": ""
      }
    ],
    "photoUrl": "",
    "verifiedTeacher": false
  },
  "userId": ""
}'
echo '{
  "courseId": "",
  "profile": {
    "emailAddress": "",
    "id": "",
    "name": {
      "familyName": "",
      "fullName": "",
      "givenName": ""
    },
    "permissions": [
      {
        "permission": ""
      }
    ],
    "photoUrl": "",
    "verifiedTeacher": false
  },
  "userId": ""
}' |  \
  http POST {{baseUrl}}/v1/courses/:courseId/teachers \
  content-type:application/json
wget --quiet \
  --method POST \
  --header 'content-type: application/json' \
  --body-data '{\n  "courseId": "",\n  "profile": {\n    "emailAddress": "",\n    "id": "",\n    "name": {\n      "familyName": "",\n      "fullName": "",\n      "givenName": ""\n    },\n    "permissions": [\n      {\n        "permission": ""\n      }\n    ],\n    "photoUrl": "",\n    "verifiedTeacher": false\n  },\n  "userId": ""\n}' \
  --output-document \
  - {{baseUrl}}/v1/courses/:courseId/teachers
import Foundation

let headers = ["content-type": "application/json"]
let parameters = [
  "courseId": "",
  "profile": [
    "emailAddress": "",
    "id": "",
    "name": [
      "familyName": "",
      "fullName": "",
      "givenName": ""
    ],
    "permissions": [["permission": ""]],
    "photoUrl": "",
    "verifiedTeacher": false
  ],
  "userId": ""
] as [String : Any]

let postData = JSONSerialization.data(withJSONObject: parameters, options: [])

let request = NSMutableURLRequest(url: NSURL(string: "{{baseUrl}}/v1/courses/:courseId/teachers")! 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()
DELETE classroom.courses.teachers.delete
{{baseUrl}}/v1/courses/:courseId/teachers/:userId
QUERY PARAMS

courseId
userId
Examples
REQUEST

CURL *hnd = curl_easy_init();

curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "DELETE");
curl_easy_setopt(hnd, CURLOPT_URL, "{{baseUrl}}/v1/courses/:courseId/teachers/:userId");

CURLcode ret = curl_easy_perform(hnd);
(require '[clj-http.client :as client])

(client/delete "{{baseUrl}}/v1/courses/:courseId/teachers/:userId")
require "http/client"

url = "{{baseUrl}}/v1/courses/:courseId/teachers/:userId"

response = HTTP::Client.delete url
puts response.body
using System.Net.Http.Headers;
var client = new HttpClient();
var request = new HttpRequestMessage
{
    Method = HttpMethod.Delete,
    RequestUri = new Uri("{{baseUrl}}/v1/courses/:courseId/teachers/:userId"),
};
using (var response = await client.SendAsync(request))
{
    response.EnsureSuccessStatusCode();
    var body = await response.Content.ReadAsStringAsync();
    Console.WriteLine(body);
}
var client = new RestClient("{{baseUrl}}/v1/courses/:courseId/teachers/:userId");
var request = new RestRequest("", Method.Delete);
var response = client.Execute(request);
package main

import (
	"fmt"
	"net/http"
	"io"
)

func main() {

	url := "{{baseUrl}}/v1/courses/:courseId/teachers/:userId"

	req, _ := http.NewRequest("DELETE", url, nil)

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
DELETE /baseUrl/v1/courses/:courseId/teachers/:userId HTTP/1.1
Host: example.com

AsyncHttpClient client = new DefaultAsyncHttpClient();
client.prepare("DELETE", "{{baseUrl}}/v1/courses/:courseId/teachers/:userId")
  .execute()
  .toCompletableFuture()
  .thenAccept(System.out::println)
  .join();

client.close();
HttpRequest request = HttpRequest.newBuilder()
    .uri(URI.create("{{baseUrl}}/v1/courses/:courseId/teachers/:userId"))
    .method("DELETE", 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}}/v1/courses/:courseId/teachers/:userId")
  .delete(null)
  .build();

Response response = client.newCall(request).execute();
HttpResponse response = Unirest.delete("{{baseUrl}}/v1/courses/:courseId/teachers/:userId")
  .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('DELETE', '{{baseUrl}}/v1/courses/:courseId/teachers/:userId');

xhr.send(data);
import axios from 'axios';

const options = {
  method: 'DELETE',
  url: '{{baseUrl}}/v1/courses/:courseId/teachers/:userId'
};

try {
  const { data } = await axios.request(options);
  console.log(data);
} catch (error) {
  console.error(error);
}
const url = '{{baseUrl}}/v1/courses/:courseId/teachers/:userId';
const options = {method: 'DELETE'};

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}}/v1/courses/:courseId/teachers/:userId',
  method: 'DELETE',
  headers: {}
};

$.ajax(settings).done(function (response) {
  console.log(response);
});
val client = OkHttpClient()

val request = Request.Builder()
  .url("{{baseUrl}}/v1/courses/:courseId/teachers/:userId")
  .delete(null)
  .build()

val response = client.newCall(request).execute()
const http = require('https');

const options = {
  method: 'DELETE',
  hostname: 'example.com',
  port: null,
  path: '/baseUrl/v1/courses/:courseId/teachers/:userId',
  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: 'DELETE',
  url: '{{baseUrl}}/v1/courses/:courseId/teachers/:userId'
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
const unirest = require('unirest');

const req = unirest('DELETE', '{{baseUrl}}/v1/courses/:courseId/teachers/:userId');

req.end(function (res) {
  if (res.error) throw new Error(res.error);

  console.log(res.body);
});
const axios = require('axios').default;

const options = {
  method: 'DELETE',
  url: '{{baseUrl}}/v1/courses/:courseId/teachers/:userId'
};

try {
  const { data } = await axios.request(options);
  console.log(data);
} catch (error) {
  console.error(error);
}
const fetch = require('node-fetch');

const url = '{{baseUrl}}/v1/courses/:courseId/teachers/:userId';
const options = {method: 'DELETE'};

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}}/v1/courses/:courseId/teachers/:userId"]
                                                       cachePolicy:NSURLRequestUseProtocolCachePolicy
                                                   timeoutInterval:10.0];
[request setHTTPMethod:@"DELETE"];

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}}/v1/courses/:courseId/teachers/:userId" in

Client.call `DELETE uri
>>= fun (res, body_stream) ->
  (* Do stuff with the result *)
 "{{baseUrl}}/v1/courses/:courseId/teachers/:userId",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "DELETE",
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
request('DELETE', '{{baseUrl}}/v1/courses/:courseId/teachers/:userId');

echo $response->getBody();
setUrl('{{baseUrl}}/v1/courses/:courseId/teachers/:userId');
$request->setMethod(HTTP_METH_DELETE);

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
setRequestUrl('{{baseUrl}}/v1/courses/:courseId/teachers/:userId');
$request->setRequestMethod('DELETE');
$client->enqueue($request)->send();
$response = $client->getResponse();

echo $response->getBody();
$response = Invoke-WebRequest -Uri '{{baseUrl}}/v1/courses/:courseId/teachers/:userId' -Method DELETE 
$response = Invoke-RestMethod -Uri '{{baseUrl}}/v1/courses/:courseId/teachers/:userId' -Method DELETE 
import http.client

conn = http.client.HTTPSConnection("example.com")

conn.request("DELETE", "/baseUrl/v1/courses/:courseId/teachers/:userId")

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))
import requests

url = "{{baseUrl}}/v1/courses/:courseId/teachers/:userId"

response = requests.delete(url)

print(response.json())
library(httr)

url <- "{{baseUrl}}/v1/courses/:courseId/teachers/:userId"

response <- VERB("DELETE", url, content_type("application/octet-stream"))

content(response, "text")
require 'uri'
require 'net/http'

url = URI("{{baseUrl}}/v1/courses/:courseId/teachers/:userId")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Delete.new(url)

response = http.request(request)
puts response.read_body
require 'faraday'

conn = Faraday.new(
  url: 'https://example.com',
)

response = conn.delete('/baseUrl/v1/courses/:courseId/teachers/:userId') do |req|
end

puts response.status
puts response.body
use std::str::FromStr;
use reqwest;

#[tokio::main]
pub async fn main() {
    let url = "{{baseUrl}}/v1/courses/:courseId/teachers/:userId";

    let client = reqwest::Client::new();
    let response = client.request(reqwest::Method::from_str("DELETE").unwrap(), url)
        .send()
        .await;

    let results = response.unwrap()
        .json::()
        .await
        .unwrap();

    dbg!(results);
}
curl --request DELETE \
  --url {{baseUrl}}/v1/courses/:courseId/teachers/:userId
http DELETE {{baseUrl}}/v1/courses/:courseId/teachers/:userId
wget --quiet \
  --method DELETE \
  --output-document \
  - {{baseUrl}}/v1/courses/:courseId/teachers/:userId
import Foundation

let request = NSMutableURLRequest(url: NSURL(string: "{{baseUrl}}/v1/courses/:courseId/teachers/:userId")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "DELETE"

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 classroom.courses.teachers.get
{{baseUrl}}/v1/courses/:courseId/teachers/:userId
QUERY PARAMS

courseId
userId
Examples
REQUEST

CURL *hnd = curl_easy_init();

curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET");
curl_easy_setopt(hnd, CURLOPT_URL, "{{baseUrl}}/v1/courses/:courseId/teachers/:userId");

CURLcode ret = curl_easy_perform(hnd);
(require '[clj-http.client :as client])

(client/get "{{baseUrl}}/v1/courses/:courseId/teachers/:userId")
require "http/client"

url = "{{baseUrl}}/v1/courses/:courseId/teachers/:userId"

response = HTTP::Client.get url
puts response.body
using System.Net.Http.Headers;
var client = new HttpClient();
var request = new HttpRequestMessage
{
    Method = HttpMethod.Get,
    RequestUri = new Uri("{{baseUrl}}/v1/courses/:courseId/teachers/:userId"),
};
using (var response = await client.SendAsync(request))
{
    response.EnsureSuccessStatusCode();
    var body = await response.Content.ReadAsStringAsync();
    Console.WriteLine(body);
}
var client = new RestClient("{{baseUrl}}/v1/courses/:courseId/teachers/:userId");
var request = new RestRequest("", Method.Get);
var response = client.Execute(request);
package main

import (
	"fmt"
	"net/http"
	"io"
)

func main() {

	url := "{{baseUrl}}/v1/courses/:courseId/teachers/:userId"

	req, _ := http.NewRequest("GET", url, nil)

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
GET /baseUrl/v1/courses/:courseId/teachers/:userId HTTP/1.1
Host: example.com

AsyncHttpClient client = new DefaultAsyncHttpClient();
client.prepare("GET", "{{baseUrl}}/v1/courses/:courseId/teachers/:userId")
  .execute()
  .toCompletableFuture()
  .thenAccept(System.out::println)
  .join();

client.close();
HttpRequest request = HttpRequest.newBuilder()
    .uri(URI.create("{{baseUrl}}/v1/courses/:courseId/teachers/:userId"))
    .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}}/v1/courses/:courseId/teachers/:userId")
  .get()
  .build();

Response response = client.newCall(request).execute();
HttpResponse response = Unirest.get("{{baseUrl}}/v1/courses/:courseId/teachers/:userId")
  .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}}/v1/courses/:courseId/teachers/:userId');

xhr.send(data);
import axios from 'axios';

const options = {
  method: 'GET',
  url: '{{baseUrl}}/v1/courses/:courseId/teachers/:userId'
};

try {
  const { data } = await axios.request(options);
  console.log(data);
} catch (error) {
  console.error(error);
}
const url = '{{baseUrl}}/v1/courses/:courseId/teachers/:userId';
const options = {method: 'GET'};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
const settings = {
  async: true,
  crossDomain: true,
  url: '{{baseUrl}}/v1/courses/:courseId/teachers/:userId',
  method: 'GET',
  headers: {}
};

$.ajax(settings).done(function (response) {
  console.log(response);
});
val client = OkHttpClient()

val request = Request.Builder()
  .url("{{baseUrl}}/v1/courses/:courseId/teachers/:userId")
  .get()
  .build()

val response = client.newCall(request).execute()
const http = require('https');

const options = {
  method: 'GET',
  hostname: 'example.com',
  port: null,
  path: '/baseUrl/v1/courses/:courseId/teachers/:userId',
  headers: {}
};

const req = http.request(options, function (res) {
  const chunks = [];

  res.on('data', function (chunk) {
    chunks.push(chunk);
  });

  res.on('end', function () {
    const body = Buffer.concat(chunks);
    console.log(body.toString());
  });
});

req.end();
const request = require('request');

const options = {
  method: 'GET',
  url: '{{baseUrl}}/v1/courses/:courseId/teachers/:userId'
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
const unirest = require('unirest');

const req = unirest('GET', '{{baseUrl}}/v1/courses/:courseId/teachers/:userId');

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}}/v1/courses/:courseId/teachers/:userId'
};

try {
  const { data } = await axios.request(options);
  console.log(data);
} catch (error) {
  console.error(error);
}
const fetch = require('node-fetch');

const url = '{{baseUrl}}/v1/courses/:courseId/teachers/:userId';
const options = {method: 'GET'};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
#import 

NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"{{baseUrl}}/v1/courses/:courseId/teachers/:userId"]
                                                       cachePolicy:NSURLRequestUseProtocolCachePolicy
                                                   timeoutInterval:10.0];
[request setHTTPMethod:@"GET"];

NSURLSession *session = [NSURLSession sharedSession];
NSURLSessionDataTask *dataTask = [session dataTaskWithRequest:request
                                            completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
                                                if (error) {
                                                    NSLog(@"%@", error);
                                                } else {
                                                    NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse *) response;
                                                    NSLog(@"%@", httpResponse);
                                                }
                                            }];
[dataTask resume];
open Cohttp_lwt_unix
open Cohttp
open Lwt

let uri = Uri.of_string "{{baseUrl}}/v1/courses/:courseId/teachers/:userId" in

Client.call `GET uri
>>= fun (res, body_stream) ->
  (* Do stuff with the result *)
 "{{baseUrl}}/v1/courses/:courseId/teachers/:userId",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "GET",
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
request('GET', '{{baseUrl}}/v1/courses/:courseId/teachers/:userId');

echo $response->getBody();
setUrl('{{baseUrl}}/v1/courses/:courseId/teachers/:userId');
$request->setMethod(HTTP_METH_GET);

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
setRequestUrl('{{baseUrl}}/v1/courses/:courseId/teachers/:userId');
$request->setRequestMethod('GET');
$client->enqueue($request)->send();
$response = $client->getResponse();

echo $response->getBody();
$response = Invoke-WebRequest -Uri '{{baseUrl}}/v1/courses/:courseId/teachers/:userId' -Method GET 
$response = Invoke-RestMethod -Uri '{{baseUrl}}/v1/courses/:courseId/teachers/:userId' -Method GET 
import http.client

conn = http.client.HTTPSConnection("example.com")

conn.request("GET", "/baseUrl/v1/courses/:courseId/teachers/:userId")

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))
import requests

url = "{{baseUrl}}/v1/courses/:courseId/teachers/:userId"

response = requests.get(url)

print(response.json())
library(httr)

url <- "{{baseUrl}}/v1/courses/:courseId/teachers/:userId"

response <- VERB("GET", url, content_type("application/octet-stream"))

content(response, "text")
require 'uri'
require 'net/http'

url = URI("{{baseUrl}}/v1/courses/:courseId/teachers/:userId")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
require 'faraday'

conn = Faraday.new(
  url: 'https://example.com',
)

response = conn.get('/baseUrl/v1/courses/:courseId/teachers/:userId') do |req|
end

puts response.status
puts response.body
use reqwest;

#[tokio::main]
pub async fn main() {
    let url = "{{baseUrl}}/v1/courses/:courseId/teachers/:userId";

    let client = reqwest::Client::new();
    let response = client.get(url)
        .send()
        .await;

    let results = response.unwrap()
        .json::()
        .await
        .unwrap();

    dbg!(results);
}
curl --request GET \
  --url {{baseUrl}}/v1/courses/:courseId/teachers/:userId
http GET {{baseUrl}}/v1/courses/:courseId/teachers/:userId
wget --quiet \
  --method GET \
  --output-document \
  - {{baseUrl}}/v1/courses/:courseId/teachers/:userId
import Foundation

let request = NSMutableURLRequest(url: NSURL(string: "{{baseUrl}}/v1/courses/:courseId/teachers/:userId")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error as Any)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
GET classroom.courses.teachers.list
{{baseUrl}}/v1/courses/:courseId/teachers
QUERY PARAMS

courseId
Examples
REQUEST

CURL *hnd = curl_easy_init();

curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET");
curl_easy_setopt(hnd, CURLOPT_URL, "{{baseUrl}}/v1/courses/:courseId/teachers");

CURLcode ret = curl_easy_perform(hnd);
(require '[clj-http.client :as client])

(client/get "{{baseUrl}}/v1/courses/:courseId/teachers")
require "http/client"

url = "{{baseUrl}}/v1/courses/:courseId/teachers"

response = HTTP::Client.get url
puts response.body
using System.Net.Http.Headers;
var client = new HttpClient();
var request = new HttpRequestMessage
{
    Method = HttpMethod.Get,
    RequestUri = new Uri("{{baseUrl}}/v1/courses/:courseId/teachers"),
};
using (var response = await client.SendAsync(request))
{
    response.EnsureSuccessStatusCode();
    var body = await response.Content.ReadAsStringAsync();
    Console.WriteLine(body);
}
var client = new RestClient("{{baseUrl}}/v1/courses/:courseId/teachers");
var request = new RestRequest("", Method.Get);
var response = client.Execute(request);
package main

import (
	"fmt"
	"net/http"
	"io"
)

func main() {

	url := "{{baseUrl}}/v1/courses/:courseId/teachers"

	req, _ := http.NewRequest("GET", url, nil)

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
GET /baseUrl/v1/courses/:courseId/teachers HTTP/1.1
Host: example.com

AsyncHttpClient client = new DefaultAsyncHttpClient();
client.prepare("GET", "{{baseUrl}}/v1/courses/:courseId/teachers")
  .execute()
  .toCompletableFuture()
  .thenAccept(System.out::println)
  .join();

client.close();
HttpRequest request = HttpRequest.newBuilder()
    .uri(URI.create("{{baseUrl}}/v1/courses/:courseId/teachers"))
    .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}}/v1/courses/:courseId/teachers")
  .get()
  .build();

Response response = client.newCall(request).execute();
HttpResponse response = Unirest.get("{{baseUrl}}/v1/courses/:courseId/teachers")
  .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}}/v1/courses/:courseId/teachers');

xhr.send(data);
import axios from 'axios';

const options = {
  method: 'GET',
  url: '{{baseUrl}}/v1/courses/:courseId/teachers'
};

try {
  const { data } = await axios.request(options);
  console.log(data);
} catch (error) {
  console.error(error);
}
const url = '{{baseUrl}}/v1/courses/:courseId/teachers';
const options = {method: 'GET'};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
const settings = {
  async: true,
  crossDomain: true,
  url: '{{baseUrl}}/v1/courses/:courseId/teachers',
  method: 'GET',
  headers: {}
};

$.ajax(settings).done(function (response) {
  console.log(response);
});
val client = OkHttpClient()

val request = Request.Builder()
  .url("{{baseUrl}}/v1/courses/:courseId/teachers")
  .get()
  .build()

val response = client.newCall(request).execute()
const http = require('https');

const options = {
  method: 'GET',
  hostname: 'example.com',
  port: null,
  path: '/baseUrl/v1/courses/:courseId/teachers',
  headers: {}
};

const req = http.request(options, function (res) {
  const chunks = [];

  res.on('data', function (chunk) {
    chunks.push(chunk);
  });

  res.on('end', function () {
    const body = Buffer.concat(chunks);
    console.log(body.toString());
  });
});

req.end();
const request = require('request');

const options = {
  method: 'GET',
  url: '{{baseUrl}}/v1/courses/:courseId/teachers'
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
const unirest = require('unirest');

const req = unirest('GET', '{{baseUrl}}/v1/courses/:courseId/teachers');

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}}/v1/courses/:courseId/teachers'
};

try {
  const { data } = await axios.request(options);
  console.log(data);
} catch (error) {
  console.error(error);
}
const fetch = require('node-fetch');

const url = '{{baseUrl}}/v1/courses/:courseId/teachers';
const options = {method: 'GET'};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
#import 

NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"{{baseUrl}}/v1/courses/:courseId/teachers"]
                                                       cachePolicy:NSURLRequestUseProtocolCachePolicy
                                                   timeoutInterval:10.0];
[request setHTTPMethod:@"GET"];

NSURLSession *session = [NSURLSession sharedSession];
NSURLSessionDataTask *dataTask = [session dataTaskWithRequest:request
                                            completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
                                                if (error) {
                                                    NSLog(@"%@", error);
                                                } else {
                                                    NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse *) response;
                                                    NSLog(@"%@", httpResponse);
                                                }
                                            }];
[dataTask resume];
open Cohttp_lwt_unix
open Cohttp
open Lwt

let uri = Uri.of_string "{{baseUrl}}/v1/courses/:courseId/teachers" in

Client.call `GET uri
>>= fun (res, body_stream) ->
  (* Do stuff with the result *)
 "{{baseUrl}}/v1/courses/:courseId/teachers",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "GET",
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
request('GET', '{{baseUrl}}/v1/courses/:courseId/teachers');

echo $response->getBody();
setUrl('{{baseUrl}}/v1/courses/:courseId/teachers');
$request->setMethod(HTTP_METH_GET);

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
setRequestUrl('{{baseUrl}}/v1/courses/:courseId/teachers');
$request->setRequestMethod('GET');
$client->enqueue($request)->send();
$response = $client->getResponse();

echo $response->getBody();
$response = Invoke-WebRequest -Uri '{{baseUrl}}/v1/courses/:courseId/teachers' -Method GET 
$response = Invoke-RestMethod -Uri '{{baseUrl}}/v1/courses/:courseId/teachers' -Method GET 
import http.client

conn = http.client.HTTPSConnection("example.com")

conn.request("GET", "/baseUrl/v1/courses/:courseId/teachers")

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))
import requests

url = "{{baseUrl}}/v1/courses/:courseId/teachers"

response = requests.get(url)

print(response.json())
library(httr)

url <- "{{baseUrl}}/v1/courses/:courseId/teachers"

response <- VERB("GET", url, content_type("application/octet-stream"))

content(response, "text")
require 'uri'
require 'net/http'

url = URI("{{baseUrl}}/v1/courses/:courseId/teachers")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
require 'faraday'

conn = Faraday.new(
  url: 'https://example.com',
)

response = conn.get('/baseUrl/v1/courses/:courseId/teachers') do |req|
end

puts response.status
puts response.body
use reqwest;

#[tokio::main]
pub async fn main() {
    let url = "{{baseUrl}}/v1/courses/:courseId/teachers";

    let client = reqwest::Client::new();
    let response = client.get(url)
        .send()
        .await;

    let results = response.unwrap()
        .json::()
        .await
        .unwrap();

    dbg!(results);
}
curl --request GET \
  --url {{baseUrl}}/v1/courses/:courseId/teachers
http GET {{baseUrl}}/v1/courses/:courseId/teachers
wget --quiet \
  --method GET \
  --output-document \
  - {{baseUrl}}/v1/courses/:courseId/teachers
import Foundation

let request = NSMutableURLRequest(url: NSURL(string: "{{baseUrl}}/v1/courses/:courseId/teachers")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error as Any)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
POST classroom.courses.topics.create
{{baseUrl}}/v1/courses/:courseId/topics
QUERY PARAMS

courseId
BODY json

{
  "courseId": "",
  "name": "",
  "topicId": "",
  "updateTime": ""
}
Examples
REQUEST

CURL *hnd = curl_easy_init();

curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "POST");
curl_easy_setopt(hnd, CURLOPT_URL, "{{baseUrl}}/v1/courses/:courseId/topics");

struct curl_slist *headers = NULL;
headers = curl_slist_append(headers, "content-type: application/json");
curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers);

curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\n  \"courseId\": \"\",\n  \"name\": \"\",\n  \"topicId\": \"\",\n  \"updateTime\": \"\"\n}");

CURLcode ret = curl_easy_perform(hnd);
(require '[clj-http.client :as client])

(client/post "{{baseUrl}}/v1/courses/:courseId/topics" {:content-type :json
                                                                        :form-params {:courseId ""
                                                                                      :name ""
                                                                                      :topicId ""
                                                                                      :updateTime ""}})
require "http/client"

url = "{{baseUrl}}/v1/courses/:courseId/topics"
headers = HTTP::Headers{
  "content-type" => "application/json"
}
reqBody = "{\n  \"courseId\": \"\",\n  \"name\": \"\",\n  \"topicId\": \"\",\n  \"updateTime\": \"\"\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}}/v1/courses/:courseId/topics"),
    Content = new StringContent("{\n  \"courseId\": \"\",\n  \"name\": \"\",\n  \"topicId\": \"\",\n  \"updateTime\": \"\"\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}}/v1/courses/:courseId/topics");
var request = new RestRequest("", Method.Post);
request.AddHeader("content-type", "application/json");
request.AddParameter("application/json", "{\n  \"courseId\": \"\",\n  \"name\": \"\",\n  \"topicId\": \"\",\n  \"updateTime\": \"\"\n}", ParameterType.RequestBody);
var response = client.Execute(request);
package main

import (
	"fmt"
	"strings"
	"net/http"
	"io"
)

func main() {

	url := "{{baseUrl}}/v1/courses/:courseId/topics"

	payload := strings.NewReader("{\n  \"courseId\": \"\",\n  \"name\": \"\",\n  \"topicId\": \"\",\n  \"updateTime\": \"\"\n}")

	req, _ := http.NewRequest("POST", url, payload)

	req.Header.Add("content-type", "application/json")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
POST /baseUrl/v1/courses/:courseId/topics HTTP/1.1
Content-Type: application/json
Host: example.com
Content-Length: 71

{
  "courseId": "",
  "name": "",
  "topicId": "",
  "updateTime": ""
}
AsyncHttpClient client = new DefaultAsyncHttpClient();
client.prepare("POST", "{{baseUrl}}/v1/courses/:courseId/topics")
  .setHeader("content-type", "application/json")
  .setBody("{\n  \"courseId\": \"\",\n  \"name\": \"\",\n  \"topicId\": \"\",\n  \"updateTime\": \"\"\n}")
  .execute()
  .toCompletableFuture()
  .thenAccept(System.out::println)
  .join();

client.close();
HttpRequest request = HttpRequest.newBuilder()
    .uri(URI.create("{{baseUrl}}/v1/courses/:courseId/topics"))
    .header("content-type", "application/json")
    .method("POST", HttpRequest.BodyPublishers.ofString("{\n  \"courseId\": \"\",\n  \"name\": \"\",\n  \"topicId\": \"\",\n  \"updateTime\": \"\"\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  \"courseId\": \"\",\n  \"name\": \"\",\n  \"topicId\": \"\",\n  \"updateTime\": \"\"\n}");
Request request = new Request.Builder()
  .url("{{baseUrl}}/v1/courses/:courseId/topics")
  .post(body)
  .addHeader("content-type", "application/json")
  .build();

Response response = client.newCall(request).execute();
HttpResponse response = Unirest.post("{{baseUrl}}/v1/courses/:courseId/topics")
  .header("content-type", "application/json")
  .body("{\n  \"courseId\": \"\",\n  \"name\": \"\",\n  \"topicId\": \"\",\n  \"updateTime\": \"\"\n}")
  .asString();
const data = JSON.stringify({
  courseId: '',
  name: '',
  topicId: '',
  updateTime: ''
});

const xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener('readystatechange', function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open('POST', '{{baseUrl}}/v1/courses/:courseId/topics');
xhr.setRequestHeader('content-type', 'application/json');

xhr.send(data);
import axios from 'axios';

const options = {
  method: 'POST',
  url: '{{baseUrl}}/v1/courses/:courseId/topics',
  headers: {'content-type': 'application/json'},
  data: {courseId: '', name: '', topicId: '', updateTime: ''}
};

try {
  const { data } = await axios.request(options);
  console.log(data);
} catch (error) {
  console.error(error);
}
const url = '{{baseUrl}}/v1/courses/:courseId/topics';
const options = {
  method: 'POST',
  headers: {'content-type': 'application/json'},
  body: '{"courseId":"","name":"","topicId":"","updateTime":""}'
};

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}}/v1/courses/:courseId/topics',
  method: 'POST',
  headers: {
    'content-type': 'application/json'
  },
  processData: false,
  data: '{\n  "courseId": "",\n  "name": "",\n  "topicId": "",\n  "updateTime": ""\n}'
};

$.ajax(settings).done(function (response) {
  console.log(response);
});
val client = OkHttpClient()

val mediaType = MediaType.parse("application/json")
val body = RequestBody.create(mediaType, "{\n  \"courseId\": \"\",\n  \"name\": \"\",\n  \"topicId\": \"\",\n  \"updateTime\": \"\"\n}")
val request = Request.Builder()
  .url("{{baseUrl}}/v1/courses/:courseId/topics")
  .post(body)
  .addHeader("content-type", "application/json")
  .build()

val response = client.newCall(request).execute()
const http = require('https');

const options = {
  method: 'POST',
  hostname: 'example.com',
  port: null,
  path: '/baseUrl/v1/courses/:courseId/topics',
  headers: {
    'content-type': 'application/json'
  }
};

const req = http.request(options, function (res) {
  const chunks = [];

  res.on('data', function (chunk) {
    chunks.push(chunk);
  });

  res.on('end', function () {
    const body = Buffer.concat(chunks);
    console.log(body.toString());
  });
});

req.write(JSON.stringify({courseId: '', name: '', topicId: '', updateTime: ''}));
req.end();
const request = require('request');

const options = {
  method: 'POST',
  url: '{{baseUrl}}/v1/courses/:courseId/topics',
  headers: {'content-type': 'application/json'},
  body: {courseId: '', name: '', topicId: '', updateTime: ''},
  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}}/v1/courses/:courseId/topics');

req.headers({
  'content-type': 'application/json'
});

req.type('json');
req.send({
  courseId: '',
  name: '',
  topicId: '',
  updateTime: ''
});

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}}/v1/courses/:courseId/topics',
  headers: {'content-type': 'application/json'},
  data: {courseId: '', name: '', topicId: '', updateTime: ''}
};

try {
  const { data } = await axios.request(options);
  console.log(data);
} catch (error) {
  console.error(error);
}
const fetch = require('node-fetch');

const url = '{{baseUrl}}/v1/courses/:courseId/topics';
const options = {
  method: 'POST',
  headers: {'content-type': 'application/json'},
  body: '{"courseId":"","name":"","topicId":"","updateTime":""}'
};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
#import 

NSDictionary *headers = @{ @"content-type": @"application/json" };
NSDictionary *parameters = @{ @"courseId": @"",
                              @"name": @"",
                              @"topicId": @"",
                              @"updateTime": @"" };

NSData *postData = [NSJSONSerialization dataWithJSONObject:parameters options:0 error:nil];

NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"{{baseUrl}}/v1/courses/:courseId/topics"]
                                                       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}}/v1/courses/:courseId/topics" in
let headers = Header.add (Header.init ()) "content-type" "application/json" in
let body = Cohttp_lwt_body.of_string "{\n  \"courseId\": \"\",\n  \"name\": \"\",\n  \"topicId\": \"\",\n  \"updateTime\": \"\"\n}" in

Client.call ~headers ~body `POST uri
>>= fun (res, body_stream) ->
  (* Do stuff with the result *)
 "{{baseUrl}}/v1/courses/:courseId/topics",
  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([
    'courseId' => '',
    'name' => '',
    'topicId' => '',
    'updateTime' => ''
  ]),
  CURLOPT_HTTPHEADER => [
    "content-type: application/json"
  ],
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
request('POST', '{{baseUrl}}/v1/courses/:courseId/topics', [
  'body' => '{
  "courseId": "",
  "name": "",
  "topicId": "",
  "updateTime": ""
}',
  'headers' => [
    'content-type' => 'application/json',
  ],
]);

echo $response->getBody();
setUrl('{{baseUrl}}/v1/courses/:courseId/topics');
$request->setMethod(HTTP_METH_POST);

$request->setHeaders([
  'content-type' => 'application/json'
]);

$request->setContentType('application/json');
$request->setBody(json_encode([
  'courseId' => '',
  'name' => '',
  'topicId' => '',
  'updateTime' => ''
]));

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
append(json_encode([
  'courseId' => '',
  'name' => '',
  'topicId' => '',
  'updateTime' => ''
]));
$request->setRequestUrl('{{baseUrl}}/v1/courses/:courseId/topics');
$request->setRequestMethod('POST');
$request->setBody($body);

$request->setHeaders([
  'content-type' => 'application/json'
]);

$client->enqueue($request)->send();
$response = $client->getResponse();

echo $response->getBody();
$headers=@{}
$headers.Add("content-type", "application/json")
$response = Invoke-WebRequest -Uri '{{baseUrl}}/v1/courses/:courseId/topics' -Method POST -Headers $headers -ContentType 'application/json' -Body '{
  "courseId": "",
  "name": "",
  "topicId": "",
  "updateTime": ""
}'
$headers=@{}
$headers.Add("content-type", "application/json")
$response = Invoke-RestMethod -Uri '{{baseUrl}}/v1/courses/:courseId/topics' -Method POST -Headers $headers -ContentType 'application/json' -Body '{
  "courseId": "",
  "name": "",
  "topicId": "",
  "updateTime": ""
}'
import http.client

conn = http.client.HTTPSConnection("example.com")

payload = "{\n  \"courseId\": \"\",\n  \"name\": \"\",\n  \"topicId\": \"\",\n  \"updateTime\": \"\"\n}"

headers = { 'content-type': "application/json" }

conn.request("POST", "/baseUrl/v1/courses/:courseId/topics", payload, headers)

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))
import requests

url = "{{baseUrl}}/v1/courses/:courseId/topics"

payload = {
    "courseId": "",
    "name": "",
    "topicId": "",
    "updateTime": ""
}
headers = {"content-type": "application/json"}

response = requests.post(url, json=payload, headers=headers)

print(response.json())
library(httr)

url <- "{{baseUrl}}/v1/courses/:courseId/topics"

payload <- "{\n  \"courseId\": \"\",\n  \"name\": \"\",\n  \"topicId\": \"\",\n  \"updateTime\": \"\"\n}"

encode <- "json"

response <- VERB("POST", url, body = payload, content_type("application/json"), encode = encode)

content(response, "text")
require 'uri'
require 'net/http'

url = URI("{{baseUrl}}/v1/courses/:courseId/topics")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["content-type"] = 'application/json'
request.body = "{\n  \"courseId\": \"\",\n  \"name\": \"\",\n  \"topicId\": \"\",\n  \"updateTime\": \"\"\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/v1/courses/:courseId/topics') do |req|
  req.body = "{\n  \"courseId\": \"\",\n  \"name\": \"\",\n  \"topicId\": \"\",\n  \"updateTime\": \"\"\n}"
end

puts response.status
puts response.body
use serde_json::json;
use reqwest;

#[tokio::main]
pub async fn main() {
    let url = "{{baseUrl}}/v1/courses/:courseId/topics";

    let payload = json!({
        "courseId": "",
        "name": "",
        "topicId": "",
        "updateTime": ""
    });

    let mut headers = reqwest::header::HeaderMap::new();
    headers.insert("content-type", "application/json".parse().unwrap());

    let client = reqwest::Client::new();
    let response = client.post(url)
        .headers(headers)
        .json(&payload)
        .send()
        .await;

    let results = response.unwrap()
        .json::()
        .await
        .unwrap();

    dbg!(results);
}
curl --request POST \
  --url {{baseUrl}}/v1/courses/:courseId/topics \
  --header 'content-type: application/json' \
  --data '{
  "courseId": "",
  "name": "",
  "topicId": "",
  "updateTime": ""
}'
echo '{
  "courseId": "",
  "name": "",
  "topicId": "",
  "updateTime": ""
}' |  \
  http POST {{baseUrl}}/v1/courses/:courseId/topics \
  content-type:application/json
wget --quiet \
  --method POST \
  --header 'content-type: application/json' \
  --body-data '{\n  "courseId": "",\n  "name": "",\n  "topicId": "",\n  "updateTime": ""\n}' \
  --output-document \
  - {{baseUrl}}/v1/courses/:courseId/topics
import Foundation

let headers = ["content-type": "application/json"]
let parameters = [
  "courseId": "",
  "name": "",
  "topicId": "",
  "updateTime": ""
] as [String : Any]

let postData = JSONSerialization.data(withJSONObject: parameters, options: [])

let request = NSMutableURLRequest(url: NSURL(string: "{{baseUrl}}/v1/courses/:courseId/topics")! 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()
DELETE classroom.courses.topics.delete
{{baseUrl}}/v1/courses/:courseId/topics/:id
QUERY PARAMS

courseId
id
Examples
REQUEST

CURL *hnd = curl_easy_init();

curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "DELETE");
curl_easy_setopt(hnd, CURLOPT_URL, "{{baseUrl}}/v1/courses/:courseId/topics/:id");

CURLcode ret = curl_easy_perform(hnd);
(require '[clj-http.client :as client])

(client/delete "{{baseUrl}}/v1/courses/:courseId/topics/:id")
require "http/client"

url = "{{baseUrl}}/v1/courses/:courseId/topics/:id"

response = HTTP::Client.delete url
puts response.body
using System.Net.Http.Headers;
var client = new HttpClient();
var request = new HttpRequestMessage
{
    Method = HttpMethod.Delete,
    RequestUri = new Uri("{{baseUrl}}/v1/courses/:courseId/topics/:id"),
};
using (var response = await client.SendAsync(request))
{
    response.EnsureSuccessStatusCode();
    var body = await response.Content.ReadAsStringAsync();
    Console.WriteLine(body);
}
var client = new RestClient("{{baseUrl}}/v1/courses/:courseId/topics/:id");
var request = new RestRequest("", Method.Delete);
var response = client.Execute(request);
package main

import (
	"fmt"
	"net/http"
	"io"
)

func main() {

	url := "{{baseUrl}}/v1/courses/:courseId/topics/:id"

	req, _ := http.NewRequest("DELETE", url, nil)

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
DELETE /baseUrl/v1/courses/:courseId/topics/:id HTTP/1.1
Host: example.com

AsyncHttpClient client = new DefaultAsyncHttpClient();
client.prepare("DELETE", "{{baseUrl}}/v1/courses/:courseId/topics/:id")
  .execute()
  .toCompletableFuture()
  .thenAccept(System.out::println)
  .join();

client.close();
HttpRequest request = HttpRequest.newBuilder()
    .uri(URI.create("{{baseUrl}}/v1/courses/:courseId/topics/:id"))
    .method("DELETE", 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}}/v1/courses/:courseId/topics/:id")
  .delete(null)
  .build();

Response response = client.newCall(request).execute();
HttpResponse response = Unirest.delete("{{baseUrl}}/v1/courses/:courseId/topics/:id")
  .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('DELETE', '{{baseUrl}}/v1/courses/:courseId/topics/:id');

xhr.send(data);
import axios from 'axios';

const options = {
  method: 'DELETE',
  url: '{{baseUrl}}/v1/courses/:courseId/topics/:id'
};

try {
  const { data } = await axios.request(options);
  console.log(data);
} catch (error) {
  console.error(error);
}
const url = '{{baseUrl}}/v1/courses/:courseId/topics/:id';
const options = {method: 'DELETE'};

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}}/v1/courses/:courseId/topics/:id',
  method: 'DELETE',
  headers: {}
};

$.ajax(settings).done(function (response) {
  console.log(response);
});
val client = OkHttpClient()

val request = Request.Builder()
  .url("{{baseUrl}}/v1/courses/:courseId/topics/:id")
  .delete(null)
  .build()

val response = client.newCall(request).execute()
const http = require('https');

const options = {
  method: 'DELETE',
  hostname: 'example.com',
  port: null,
  path: '/baseUrl/v1/courses/:courseId/topics/:id',
  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: 'DELETE',
  url: '{{baseUrl}}/v1/courses/:courseId/topics/:id'
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
const unirest = require('unirest');

const req = unirest('DELETE', '{{baseUrl}}/v1/courses/:courseId/topics/:id');

req.end(function (res) {
  if (res.error) throw new Error(res.error);

  console.log(res.body);
});
const axios = require('axios').default;

const options = {
  method: 'DELETE',
  url: '{{baseUrl}}/v1/courses/:courseId/topics/:id'
};

try {
  const { data } = await axios.request(options);
  console.log(data);
} catch (error) {
  console.error(error);
}
const fetch = require('node-fetch');

const url = '{{baseUrl}}/v1/courses/:courseId/topics/:id';
const options = {method: 'DELETE'};

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}}/v1/courses/:courseId/topics/:id"]
                                                       cachePolicy:NSURLRequestUseProtocolCachePolicy
                                                   timeoutInterval:10.0];
[request setHTTPMethod:@"DELETE"];

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}}/v1/courses/:courseId/topics/:id" in

Client.call `DELETE uri
>>= fun (res, body_stream) ->
  (* Do stuff with the result *)
 "{{baseUrl}}/v1/courses/:courseId/topics/:id",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "DELETE",
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
request('DELETE', '{{baseUrl}}/v1/courses/:courseId/topics/:id');

echo $response->getBody();
setUrl('{{baseUrl}}/v1/courses/:courseId/topics/:id');
$request->setMethod(HTTP_METH_DELETE);

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
setRequestUrl('{{baseUrl}}/v1/courses/:courseId/topics/:id');
$request->setRequestMethod('DELETE');
$client->enqueue($request)->send();
$response = $client->getResponse();

echo $response->getBody();
$response = Invoke-WebRequest -Uri '{{baseUrl}}/v1/courses/:courseId/topics/:id' -Method DELETE 
$response = Invoke-RestMethod -Uri '{{baseUrl}}/v1/courses/:courseId/topics/:id' -Method DELETE 
import http.client

conn = http.client.HTTPSConnection("example.com")

conn.request("DELETE", "/baseUrl/v1/courses/:courseId/topics/:id")

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))
import requests

url = "{{baseUrl}}/v1/courses/:courseId/topics/:id"

response = requests.delete(url)

print(response.json())
library(httr)

url <- "{{baseUrl}}/v1/courses/:courseId/topics/:id"

response <- VERB("DELETE", url, content_type("application/octet-stream"))

content(response, "text")
require 'uri'
require 'net/http'

url = URI("{{baseUrl}}/v1/courses/:courseId/topics/:id")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Delete.new(url)

response = http.request(request)
puts response.read_body
require 'faraday'

conn = Faraday.new(
  url: 'https://example.com',
)

response = conn.delete('/baseUrl/v1/courses/:courseId/topics/:id') do |req|
end

puts response.status
puts response.body
use std::str::FromStr;
use reqwest;

#[tokio::main]
pub async fn main() {
    let url = "{{baseUrl}}/v1/courses/:courseId/topics/:id";

    let client = reqwest::Client::new();
    let response = client.request(reqwest::Method::from_str("DELETE").unwrap(), url)
        .send()
        .await;

    let results = response.unwrap()
        .json::()
        .await
        .unwrap();

    dbg!(results);
}
curl --request DELETE \
  --url {{baseUrl}}/v1/courses/:courseId/topics/:id
http DELETE {{baseUrl}}/v1/courses/:courseId/topics/:id
wget --quiet \
  --method DELETE \
  --output-document \
  - {{baseUrl}}/v1/courses/:courseId/topics/:id
import Foundation

let request = NSMutableURLRequest(url: NSURL(string: "{{baseUrl}}/v1/courses/:courseId/topics/:id")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "DELETE"

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 classroom.courses.topics.get
{{baseUrl}}/v1/courses/:courseId/topics/:id
QUERY PARAMS

courseId
id
Examples
REQUEST

CURL *hnd = curl_easy_init();

curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET");
curl_easy_setopt(hnd, CURLOPT_URL, "{{baseUrl}}/v1/courses/:courseId/topics/:id");

CURLcode ret = curl_easy_perform(hnd);
(require '[clj-http.client :as client])

(client/get "{{baseUrl}}/v1/courses/:courseId/topics/:id")
require "http/client"

url = "{{baseUrl}}/v1/courses/:courseId/topics/:id"

response = HTTP::Client.get url
puts response.body
using System.Net.Http.Headers;
var client = new HttpClient();
var request = new HttpRequestMessage
{
    Method = HttpMethod.Get,
    RequestUri = new Uri("{{baseUrl}}/v1/courses/:courseId/topics/:id"),
};
using (var response = await client.SendAsync(request))
{
    response.EnsureSuccessStatusCode();
    var body = await response.Content.ReadAsStringAsync();
    Console.WriteLine(body);
}
var client = new RestClient("{{baseUrl}}/v1/courses/:courseId/topics/:id");
var request = new RestRequest("", Method.Get);
var response = client.Execute(request);
package main

import (
	"fmt"
	"net/http"
	"io"
)

func main() {

	url := "{{baseUrl}}/v1/courses/:courseId/topics/:id"

	req, _ := http.NewRequest("GET", url, nil)

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
GET /baseUrl/v1/courses/:courseId/topics/:id HTTP/1.1
Host: example.com

AsyncHttpClient client = new DefaultAsyncHttpClient();
client.prepare("GET", "{{baseUrl}}/v1/courses/:courseId/topics/:id")
  .execute()
  .toCompletableFuture()
  .thenAccept(System.out::println)
  .join();

client.close();
HttpRequest request = HttpRequest.newBuilder()
    .uri(URI.create("{{baseUrl}}/v1/courses/:courseId/topics/:id"))
    .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}}/v1/courses/:courseId/topics/:id")
  .get()
  .build();

Response response = client.newCall(request).execute();
HttpResponse response = Unirest.get("{{baseUrl}}/v1/courses/:courseId/topics/:id")
  .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}}/v1/courses/:courseId/topics/:id');

xhr.send(data);
import axios from 'axios';

const options = {
  method: 'GET',
  url: '{{baseUrl}}/v1/courses/:courseId/topics/:id'
};

try {
  const { data } = await axios.request(options);
  console.log(data);
} catch (error) {
  console.error(error);
}
const url = '{{baseUrl}}/v1/courses/:courseId/topics/:id';
const options = {method: 'GET'};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
const settings = {
  async: true,
  crossDomain: true,
  url: '{{baseUrl}}/v1/courses/:courseId/topics/:id',
  method: 'GET',
  headers: {}
};

$.ajax(settings).done(function (response) {
  console.log(response);
});
val client = OkHttpClient()

val request = Request.Builder()
  .url("{{baseUrl}}/v1/courses/:courseId/topics/:id")
  .get()
  .build()

val response = client.newCall(request).execute()
const http = require('https');

const options = {
  method: 'GET',
  hostname: 'example.com',
  port: null,
  path: '/baseUrl/v1/courses/:courseId/topics/:id',
  headers: {}
};

const req = http.request(options, function (res) {
  const chunks = [];

  res.on('data', function (chunk) {
    chunks.push(chunk);
  });

  res.on('end', function () {
    const body = Buffer.concat(chunks);
    console.log(body.toString());
  });
});

req.end();
const request = require('request');

const options = {
  method: 'GET',
  url: '{{baseUrl}}/v1/courses/:courseId/topics/:id'
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
const unirest = require('unirest');

const req = unirest('GET', '{{baseUrl}}/v1/courses/:courseId/topics/:id');

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}}/v1/courses/:courseId/topics/:id'
};

try {
  const { data } = await axios.request(options);
  console.log(data);
} catch (error) {
  console.error(error);
}
const fetch = require('node-fetch');

const url = '{{baseUrl}}/v1/courses/:courseId/topics/:id';
const options = {method: 'GET'};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
#import 

NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"{{baseUrl}}/v1/courses/:courseId/topics/:id"]
                                                       cachePolicy:NSURLRequestUseProtocolCachePolicy
                                                   timeoutInterval:10.0];
[request setHTTPMethod:@"GET"];

NSURLSession *session = [NSURLSession sharedSession];
NSURLSessionDataTask *dataTask = [session dataTaskWithRequest:request
                                            completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
                                                if (error) {
                                                    NSLog(@"%@", error);
                                                } else {
                                                    NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse *) response;
                                                    NSLog(@"%@", httpResponse);
                                                }
                                            }];
[dataTask resume];
open Cohttp_lwt_unix
open Cohttp
open Lwt

let uri = Uri.of_string "{{baseUrl}}/v1/courses/:courseId/topics/:id" in

Client.call `GET uri
>>= fun (res, body_stream) ->
  (* Do stuff with the result *)
 "{{baseUrl}}/v1/courses/:courseId/topics/:id",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "GET",
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
request('GET', '{{baseUrl}}/v1/courses/:courseId/topics/:id');

echo $response->getBody();
setUrl('{{baseUrl}}/v1/courses/:courseId/topics/:id');
$request->setMethod(HTTP_METH_GET);

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
setRequestUrl('{{baseUrl}}/v1/courses/:courseId/topics/:id');
$request->setRequestMethod('GET');
$client->enqueue($request)->send();
$response = $client->getResponse();

echo $response->getBody();
$response = Invoke-WebRequest -Uri '{{baseUrl}}/v1/courses/:courseId/topics/:id' -Method GET 
$response = Invoke-RestMethod -Uri '{{baseUrl}}/v1/courses/:courseId/topics/:id' -Method GET 
import http.client

conn = http.client.HTTPSConnection("example.com")

conn.request("GET", "/baseUrl/v1/courses/:courseId/topics/:id")

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))
import requests

url = "{{baseUrl}}/v1/courses/:courseId/topics/:id"

response = requests.get(url)

print(response.json())
library(httr)

url <- "{{baseUrl}}/v1/courses/:courseId/topics/:id"

response <- VERB("GET", url, content_type("application/octet-stream"))

content(response, "text")
require 'uri'
require 'net/http'

url = URI("{{baseUrl}}/v1/courses/:courseId/topics/:id")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
require 'faraday'

conn = Faraday.new(
  url: 'https://example.com',
)

response = conn.get('/baseUrl/v1/courses/:courseId/topics/:id') do |req|
end

puts response.status
puts response.body
use reqwest;

#[tokio::main]
pub async fn main() {
    let url = "{{baseUrl}}/v1/courses/:courseId/topics/:id";

    let client = reqwest::Client::new();
    let response = client.get(url)
        .send()
        .await;

    let results = response.unwrap()
        .json::()
        .await
        .unwrap();

    dbg!(results);
}
curl --request GET \
  --url {{baseUrl}}/v1/courses/:courseId/topics/:id
http GET {{baseUrl}}/v1/courses/:courseId/topics/:id
wget --quiet \
  --method GET \
  --output-document \
  - {{baseUrl}}/v1/courses/:courseId/topics/:id
import Foundation

let request = NSMutableURLRequest(url: NSURL(string: "{{baseUrl}}/v1/courses/:courseId/topics/:id")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error as Any)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
GET classroom.courses.topics.list
{{baseUrl}}/v1/courses/:courseId/topics
QUERY PARAMS

courseId
Examples
REQUEST

CURL *hnd = curl_easy_init();

curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET");
curl_easy_setopt(hnd, CURLOPT_URL, "{{baseUrl}}/v1/courses/:courseId/topics");

CURLcode ret = curl_easy_perform(hnd);
(require '[clj-http.client :as client])

(client/get "{{baseUrl}}/v1/courses/:courseId/topics")
require "http/client"

url = "{{baseUrl}}/v1/courses/:courseId/topics"

response = HTTP::Client.get url
puts response.body
using System.Net.Http.Headers;
var client = new HttpClient();
var request = new HttpRequestMessage
{
    Method = HttpMethod.Get,
    RequestUri = new Uri("{{baseUrl}}/v1/courses/:courseId/topics"),
};
using (var response = await client.SendAsync(request))
{
    response.EnsureSuccessStatusCode();
    var body = await response.Content.ReadAsStringAsync();
    Console.WriteLine(body);
}
var client = new RestClient("{{baseUrl}}/v1/courses/:courseId/topics");
var request = new RestRequest("", Method.Get);
var response = client.Execute(request);
package main

import (
	"fmt"
	"net/http"
	"io"
)

func main() {

	url := "{{baseUrl}}/v1/courses/:courseId/topics"

	req, _ := http.NewRequest("GET", url, nil)

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
GET /baseUrl/v1/courses/:courseId/topics HTTP/1.1
Host: example.com

AsyncHttpClient client = new DefaultAsyncHttpClient();
client.prepare("GET", "{{baseUrl}}/v1/courses/:courseId/topics")
  .execute()
  .toCompletableFuture()
  .thenAccept(System.out::println)
  .join();

client.close();
HttpRequest request = HttpRequest.newBuilder()
    .uri(URI.create("{{baseUrl}}/v1/courses/:courseId/topics"))
    .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}}/v1/courses/:courseId/topics")
  .get()
  .build();

Response response = client.newCall(request).execute();
HttpResponse response = Unirest.get("{{baseUrl}}/v1/courses/:courseId/topics")
  .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}}/v1/courses/:courseId/topics');

xhr.send(data);
import axios from 'axios';

const options = {method: 'GET', url: '{{baseUrl}}/v1/courses/:courseId/topics'};

try {
  const { data } = await axios.request(options);
  console.log(data);
} catch (error) {
  console.error(error);
}
const url = '{{baseUrl}}/v1/courses/:courseId/topics';
const options = {method: 'GET'};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
const settings = {
  async: true,
  crossDomain: true,
  url: '{{baseUrl}}/v1/courses/:courseId/topics',
  method: 'GET',
  headers: {}
};

$.ajax(settings).done(function (response) {
  console.log(response);
});
val client = OkHttpClient()

val request = Request.Builder()
  .url("{{baseUrl}}/v1/courses/:courseId/topics")
  .get()
  .build()

val response = client.newCall(request).execute()
const http = require('https');

const options = {
  method: 'GET',
  hostname: 'example.com',
  port: null,
  path: '/baseUrl/v1/courses/:courseId/topics',
  headers: {}
};

const req = http.request(options, function (res) {
  const chunks = [];

  res.on('data', function (chunk) {
    chunks.push(chunk);
  });

  res.on('end', function () {
    const body = Buffer.concat(chunks);
    console.log(body.toString());
  });
});

req.end();
const request = require('request');

const options = {method: 'GET', url: '{{baseUrl}}/v1/courses/:courseId/topics'};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
const unirest = require('unirest');

const req = unirest('GET', '{{baseUrl}}/v1/courses/:courseId/topics');

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}}/v1/courses/:courseId/topics'};

try {
  const { data } = await axios.request(options);
  console.log(data);
} catch (error) {
  console.error(error);
}
const fetch = require('node-fetch');

const url = '{{baseUrl}}/v1/courses/:courseId/topics';
const options = {method: 'GET'};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
#import 

NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"{{baseUrl}}/v1/courses/:courseId/topics"]
                                                       cachePolicy:NSURLRequestUseProtocolCachePolicy
                                                   timeoutInterval:10.0];
[request setHTTPMethod:@"GET"];

NSURLSession *session = [NSURLSession sharedSession];
NSURLSessionDataTask *dataTask = [session dataTaskWithRequest:request
                                            completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
                                                if (error) {
                                                    NSLog(@"%@", error);
                                                } else {
                                                    NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse *) response;
                                                    NSLog(@"%@", httpResponse);
                                                }
                                            }];
[dataTask resume];
open Cohttp_lwt_unix
open Cohttp
open Lwt

let uri = Uri.of_string "{{baseUrl}}/v1/courses/:courseId/topics" in

Client.call `GET uri
>>= fun (res, body_stream) ->
  (* Do stuff with the result *)
 "{{baseUrl}}/v1/courses/:courseId/topics",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "GET",
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
request('GET', '{{baseUrl}}/v1/courses/:courseId/topics');

echo $response->getBody();
setUrl('{{baseUrl}}/v1/courses/:courseId/topics');
$request->setMethod(HTTP_METH_GET);

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
setRequestUrl('{{baseUrl}}/v1/courses/:courseId/topics');
$request->setRequestMethod('GET');
$client->enqueue($request)->send();
$response = $client->getResponse();

echo $response->getBody();
$response = Invoke-WebRequest -Uri '{{baseUrl}}/v1/courses/:courseId/topics' -Method GET 
$response = Invoke-RestMethod -Uri '{{baseUrl}}/v1/courses/:courseId/topics' -Method GET 
import http.client

conn = http.client.HTTPSConnection("example.com")

conn.request("GET", "/baseUrl/v1/courses/:courseId/topics")

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))
import requests

url = "{{baseUrl}}/v1/courses/:courseId/topics"

response = requests.get(url)

print(response.json())
library(httr)

url <- "{{baseUrl}}/v1/courses/:courseId/topics"

response <- VERB("GET", url, content_type("application/octet-stream"))

content(response, "text")
require 'uri'
require 'net/http'

url = URI("{{baseUrl}}/v1/courses/:courseId/topics")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
require 'faraday'

conn = Faraday.new(
  url: 'https://example.com',
)

response = conn.get('/baseUrl/v1/courses/:courseId/topics') do |req|
end

puts response.status
puts response.body
use reqwest;

#[tokio::main]
pub async fn main() {
    let url = "{{baseUrl}}/v1/courses/:courseId/topics";

    let client = reqwest::Client::new();
    let response = client.get(url)
        .send()
        .await;

    let results = response.unwrap()
        .json::()
        .await
        .unwrap();

    dbg!(results);
}
curl --request GET \
  --url {{baseUrl}}/v1/courses/:courseId/topics
http GET {{baseUrl}}/v1/courses/:courseId/topics
wget --quiet \
  --method GET \
  --output-document \
  - {{baseUrl}}/v1/courses/:courseId/topics
import Foundation

let request = NSMutableURLRequest(url: NSURL(string: "{{baseUrl}}/v1/courses/:courseId/topics")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error as Any)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
PATCH classroom.courses.topics.patch
{{baseUrl}}/v1/courses/:courseId/topics/:id
QUERY PARAMS

courseId
id
BODY json

{
  "courseId": "",
  "name": "",
  "topicId": "",
  "updateTime": ""
}
Examples
REQUEST

CURL *hnd = curl_easy_init();

curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "PATCH");
curl_easy_setopt(hnd, CURLOPT_URL, "{{baseUrl}}/v1/courses/:courseId/topics/:id");

struct curl_slist *headers = NULL;
headers = curl_slist_append(headers, "content-type: application/json");
curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers);

curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\n  \"courseId\": \"\",\n  \"name\": \"\",\n  \"topicId\": \"\",\n  \"updateTime\": \"\"\n}");

CURLcode ret = curl_easy_perform(hnd);
(require '[clj-http.client :as client])

(client/patch "{{baseUrl}}/v1/courses/:courseId/topics/:id" {:content-type :json
                                                                             :form-params {:courseId ""
                                                                                           :name ""
                                                                                           :topicId ""
                                                                                           :updateTime ""}})
require "http/client"

url = "{{baseUrl}}/v1/courses/:courseId/topics/:id"
headers = HTTP::Headers{
  "content-type" => "application/json"
}
reqBody = "{\n  \"courseId\": \"\",\n  \"name\": \"\",\n  \"topicId\": \"\",\n  \"updateTime\": \"\"\n}"

response = HTTP::Client.patch url, headers: headers, body: reqBody
puts response.body
using System.Net.Http.Headers;
var client = new HttpClient();
var request = new HttpRequestMessage
{
    Method = HttpMethod.Patch,
    RequestUri = new Uri("{{baseUrl}}/v1/courses/:courseId/topics/:id"),
    Content = new StringContent("{\n  \"courseId\": \"\",\n  \"name\": \"\",\n  \"topicId\": \"\",\n  \"updateTime\": \"\"\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}}/v1/courses/:courseId/topics/:id");
var request = new RestRequest("", Method.Patch);
request.AddHeader("content-type", "application/json");
request.AddParameter("application/json", "{\n  \"courseId\": \"\",\n  \"name\": \"\",\n  \"topicId\": \"\",\n  \"updateTime\": \"\"\n}", ParameterType.RequestBody);
var response = client.Execute(request);
package main

import (
	"fmt"
	"strings"
	"net/http"
	"io"
)

func main() {

	url := "{{baseUrl}}/v1/courses/:courseId/topics/:id"

	payload := strings.NewReader("{\n  \"courseId\": \"\",\n  \"name\": \"\",\n  \"topicId\": \"\",\n  \"updateTime\": \"\"\n}")

	req, _ := http.NewRequest("PATCH", url, payload)

	req.Header.Add("content-type", "application/json")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
PATCH /baseUrl/v1/courses/:courseId/topics/:id HTTP/1.1
Content-Type: application/json
Host: example.com
Content-Length: 71

{
  "courseId": "",
  "name": "",
  "topicId": "",
  "updateTime": ""
}
AsyncHttpClient client = new DefaultAsyncHttpClient();
client.prepare("PATCH", "{{baseUrl}}/v1/courses/:courseId/topics/:id")
  .setHeader("content-type", "application/json")
  .setBody("{\n  \"courseId\": \"\",\n  \"name\": \"\",\n  \"topicId\": \"\",\n  \"updateTime\": \"\"\n}")
  .execute()
  .toCompletableFuture()
  .thenAccept(System.out::println)
  .join();

client.close();
HttpRequest request = HttpRequest.newBuilder()
    .uri(URI.create("{{baseUrl}}/v1/courses/:courseId/topics/:id"))
    .header("content-type", "application/json")
    .method("PATCH", HttpRequest.BodyPublishers.ofString("{\n  \"courseId\": \"\",\n  \"name\": \"\",\n  \"topicId\": \"\",\n  \"updateTime\": \"\"\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  \"courseId\": \"\",\n  \"name\": \"\",\n  \"topicId\": \"\",\n  \"updateTime\": \"\"\n}");
Request request = new Request.Builder()
  .url("{{baseUrl}}/v1/courses/:courseId/topics/:id")
  .patch(body)
  .addHeader("content-type", "application/json")
  .build();

Response response = client.newCall(request).execute();
HttpResponse response = Unirest.patch("{{baseUrl}}/v1/courses/:courseId/topics/:id")
  .header("content-type", "application/json")
  .body("{\n  \"courseId\": \"\",\n  \"name\": \"\",\n  \"topicId\": \"\",\n  \"updateTime\": \"\"\n}")
  .asString();
const data = JSON.stringify({
  courseId: '',
  name: '',
  topicId: '',
  updateTime: ''
});

const xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener('readystatechange', function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open('PATCH', '{{baseUrl}}/v1/courses/:courseId/topics/:id');
xhr.setRequestHeader('content-type', 'application/json');

xhr.send(data);
import axios from 'axios';

const options = {
  method: 'PATCH',
  url: '{{baseUrl}}/v1/courses/:courseId/topics/:id',
  headers: {'content-type': 'application/json'},
  data: {courseId: '', name: '', topicId: '', updateTime: ''}
};

try {
  const { data } = await axios.request(options);
  console.log(data);
} catch (error) {
  console.error(error);
}
const url = '{{baseUrl}}/v1/courses/:courseId/topics/:id';
const options = {
  method: 'PATCH',
  headers: {'content-type': 'application/json'},
  body: '{"courseId":"","name":"","topicId":"","updateTime":""}'
};

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}}/v1/courses/:courseId/topics/:id',
  method: 'PATCH',
  headers: {
    'content-type': 'application/json'
  },
  processData: false,
  data: '{\n  "courseId": "",\n  "name": "",\n  "topicId": "",\n  "updateTime": ""\n}'
};

$.ajax(settings).done(function (response) {
  console.log(response);
});
val client = OkHttpClient()

val mediaType = MediaType.parse("application/json")
val body = RequestBody.create(mediaType, "{\n  \"courseId\": \"\",\n  \"name\": \"\",\n  \"topicId\": \"\",\n  \"updateTime\": \"\"\n}")
val request = Request.Builder()
  .url("{{baseUrl}}/v1/courses/:courseId/topics/:id")
  .patch(body)
  .addHeader("content-type", "application/json")
  .build()

val response = client.newCall(request).execute()
const http = require('https');

const options = {
  method: 'PATCH',
  hostname: 'example.com',
  port: null,
  path: '/baseUrl/v1/courses/:courseId/topics/:id',
  headers: {
    'content-type': 'application/json'
  }
};

const req = http.request(options, function (res) {
  const chunks = [];

  res.on('data', function (chunk) {
    chunks.push(chunk);
  });

  res.on('end', function () {
    const body = Buffer.concat(chunks);
    console.log(body.toString());
  });
});

req.write(JSON.stringify({courseId: '', name: '', topicId: '', updateTime: ''}));
req.end();
const request = require('request');

const options = {
  method: 'PATCH',
  url: '{{baseUrl}}/v1/courses/:courseId/topics/:id',
  headers: {'content-type': 'application/json'},
  body: {courseId: '', name: '', topicId: '', updateTime: ''},
  json: true
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
const unirest = require('unirest');

const req = unirest('PATCH', '{{baseUrl}}/v1/courses/:courseId/topics/:id');

req.headers({
  'content-type': 'application/json'
});

req.type('json');
req.send({
  courseId: '',
  name: '',
  topicId: '',
  updateTime: ''
});

req.end(function (res) {
  if (res.error) throw new Error(res.error);

  console.log(res.body);
});
const axios = require('axios').default;

const options = {
  method: 'PATCH',
  url: '{{baseUrl}}/v1/courses/:courseId/topics/:id',
  headers: {'content-type': 'application/json'},
  data: {courseId: '', name: '', topicId: '', updateTime: ''}
};

try {
  const { data } = await axios.request(options);
  console.log(data);
} catch (error) {
  console.error(error);
}
const fetch = require('node-fetch');

const url = '{{baseUrl}}/v1/courses/:courseId/topics/:id';
const options = {
  method: 'PATCH',
  headers: {'content-type': 'application/json'},
  body: '{"courseId":"","name":"","topicId":"","updateTime":""}'
};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
#import 

NSDictionary *headers = @{ @"content-type": @"application/json" };
NSDictionary *parameters = @{ @"courseId": @"",
                              @"name": @"",
                              @"topicId": @"",
                              @"updateTime": @"" };

NSData *postData = [NSJSONSerialization dataWithJSONObject:parameters options:0 error:nil];

NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"{{baseUrl}}/v1/courses/:courseId/topics/:id"]
                                                       cachePolicy:NSURLRequestUseProtocolCachePolicy
                                                   timeoutInterval:10.0];
[request setHTTPMethod:@"PATCH"];
[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}}/v1/courses/:courseId/topics/:id" in
let headers = Header.add (Header.init ()) "content-type" "application/json" in
let body = Cohttp_lwt_body.of_string "{\n  \"courseId\": \"\",\n  \"name\": \"\",\n  \"topicId\": \"\",\n  \"updateTime\": \"\"\n}" in

Client.call ~headers ~body `PATCH uri
>>= fun (res, body_stream) ->
  (* Do stuff with the result *)
 "{{baseUrl}}/v1/courses/:courseId/topics/:id",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "PATCH",
  CURLOPT_POSTFIELDS => json_encode([
    'courseId' => '',
    'name' => '',
    'topicId' => '',
    'updateTime' => ''
  ]),
  CURLOPT_HTTPHEADER => [
    "content-type: application/json"
  ],
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
request('PATCH', '{{baseUrl}}/v1/courses/:courseId/topics/:id', [
  'body' => '{
  "courseId": "",
  "name": "",
  "topicId": "",
  "updateTime": ""
}',
  'headers' => [
    'content-type' => 'application/json',
  ],
]);

echo $response->getBody();
setUrl('{{baseUrl}}/v1/courses/:courseId/topics/:id');
$request->setMethod(HttpRequest::HTTP_METH_PATCH);

$request->setHeaders([
  'content-type' => 'application/json'
]);

$request->setContentType('application/json');
$request->setBody(json_encode([
  'courseId' => '',
  'name' => '',
  'topicId' => '',
  'updateTime' => ''
]));

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
append(json_encode([
  'courseId' => '',
  'name' => '',
  'topicId' => '',
  'updateTime' => ''
]));
$request->setRequestUrl('{{baseUrl}}/v1/courses/:courseId/topics/:id');
$request->setRequestMethod('PATCH');
$request->setBody($body);

$request->setHeaders([
  'content-type' => 'application/json'
]);

$client->enqueue($request)->send();
$response = $client->getResponse();

echo $response->getBody();
$headers=@{}
$headers.Add("content-type", "application/json")
$response = Invoke-WebRequest -Uri '{{baseUrl}}/v1/courses/:courseId/topics/:id' -Method PATCH -Headers $headers -ContentType 'application/json' -Body '{
  "courseId": "",
  "name": "",
  "topicId": "",
  "updateTime": ""
}'
$headers=@{}
$headers.Add("content-type", "application/json")
$response = Invoke-RestMethod -Uri '{{baseUrl}}/v1/courses/:courseId/topics/:id' -Method PATCH -Headers $headers -ContentType 'application/json' -Body '{
  "courseId": "",
  "name": "",
  "topicId": "",
  "updateTime": ""
}'
import http.client

conn = http.client.HTTPSConnection("example.com")

payload = "{\n  \"courseId\": \"\",\n  \"name\": \"\",\n  \"topicId\": \"\",\n  \"updateTime\": \"\"\n}"

headers = { 'content-type': "application/json" }

conn.request("PATCH", "/baseUrl/v1/courses/:courseId/topics/:id", payload, headers)

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))
import requests

url = "{{baseUrl}}/v1/courses/:courseId/topics/:id"

payload = {
    "courseId": "",
    "name": "",
    "topicId": "",
    "updateTime": ""
}
headers = {"content-type": "application/json"}

response = requests.patch(url, json=payload, headers=headers)

print(response.json())
library(httr)

url <- "{{baseUrl}}/v1/courses/:courseId/topics/:id"

payload <- "{\n  \"courseId\": \"\",\n  \"name\": \"\",\n  \"topicId\": \"\",\n  \"updateTime\": \"\"\n}"

encode <- "json"

response <- VERB("PATCH", url, body = payload, content_type("application/json"), encode = encode)

content(response, "text")
require 'uri'
require 'net/http'

url = URI("{{baseUrl}}/v1/courses/:courseId/topics/:id")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Patch.new(url)
request["content-type"] = 'application/json'
request.body = "{\n  \"courseId\": \"\",\n  \"name\": \"\",\n  \"topicId\": \"\",\n  \"updateTime\": \"\"\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.patch('/baseUrl/v1/courses/:courseId/topics/:id') do |req|
  req.body = "{\n  \"courseId\": \"\",\n  \"name\": \"\",\n  \"topicId\": \"\",\n  \"updateTime\": \"\"\n}"
end

puts response.status
puts response.body
use std::str::FromStr;
use serde_json::json;
use reqwest;

#[tokio::main]
pub async fn main() {
    let url = "{{baseUrl}}/v1/courses/:courseId/topics/:id";

    let payload = json!({
        "courseId": "",
        "name": "",
        "topicId": "",
        "updateTime": ""
    });

    let mut headers = reqwest::header::HeaderMap::new();
    headers.insert("content-type", "application/json".parse().unwrap());

    let client = reqwest::Client::new();
    let response = client.request(reqwest::Method::from_str("PATCH").unwrap(), url)
        .headers(headers)
        .json(&payload)
        .send()
        .await;

    let results = response.unwrap()
        .json::()
        .await
        .unwrap();

    dbg!(results);
}
curl --request PATCH \
  --url {{baseUrl}}/v1/courses/:courseId/topics/:id \
  --header 'content-type: application/json' \
  --data '{
  "courseId": "",
  "name": "",
  "topicId": "",
  "updateTime": ""
}'
echo '{
  "courseId": "",
  "name": "",
  "topicId": "",
  "updateTime": ""
}' |  \
  http PATCH {{baseUrl}}/v1/courses/:courseId/topics/:id \
  content-type:application/json
wget --quiet \
  --method PATCH \
  --header 'content-type: application/json' \
  --body-data '{\n  "courseId": "",\n  "name": "",\n  "topicId": "",\n  "updateTime": ""\n}' \
  --output-document \
  - {{baseUrl}}/v1/courses/:courseId/topics/:id
import Foundation

let headers = ["content-type": "application/json"]
let parameters = [
  "courseId": "",
  "name": "",
  "topicId": "",
  "updateTime": ""
] as [String : Any]

let postData = JSONSerialization.data(withJSONObject: parameters, options: [])

let request = NSMutableURLRequest(url: NSURL(string: "{{baseUrl}}/v1/courses/:courseId/topics/:id")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "PATCH"
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()
PUT classroom.courses.update
{{baseUrl}}/v1/courses/:id
QUERY PARAMS

id
BODY json

{
  "alternateLink": "",
  "calendarId": "",
  "courseGroupEmail": "",
  "courseMaterialSets": [
    {
      "materials": [
        {
          "driveFile": {
            "alternateLink": "",
            "id": "",
            "thumbnailUrl": "",
            "title": ""
          },
          "form": {
            "formUrl": "",
            "responseUrl": "",
            "thumbnailUrl": "",
            "title": ""
          },
          "link": {
            "thumbnailUrl": "",
            "title": "",
            "url": ""
          },
          "youTubeVideo": {
            "alternateLink": "",
            "id": "",
            "thumbnailUrl": "",
            "title": ""
          }
        }
      ],
      "title": ""
    }
  ],
  "courseState": "",
  "creationTime": "",
  "description": "",
  "descriptionHeading": "",
  "enrollmentCode": "",
  "gradebookSettings": {
    "calculationType": "",
    "displaySetting": "",
    "gradeCategories": [
      {
        "defaultGradeDenominator": 0,
        "id": "",
        "name": "",
        "weight": 0
      }
    ]
  },
  "guardiansEnabled": false,
  "id": "",
  "name": "",
  "ownerId": "",
  "room": "",
  "section": "",
  "teacherFolder": {
    "alternateLink": "",
    "id": "",
    "title": ""
  },
  "teacherGroupEmail": "",
  "updateTime": ""
}
Examples
REQUEST

CURL *hnd = curl_easy_init();

curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "PUT");
curl_easy_setopt(hnd, CURLOPT_URL, "{{baseUrl}}/v1/courses/:id");

struct curl_slist *headers = NULL;
headers = curl_slist_append(headers, "content-type: application/json");
curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers);

curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\n  \"alternateLink\": \"\",\n  \"calendarId\": \"\",\n  \"courseGroupEmail\": \"\",\n  \"courseMaterialSets\": [\n    {\n      \"materials\": [\n        {\n          \"driveFile\": {\n            \"alternateLink\": \"\",\n            \"id\": \"\",\n            \"thumbnailUrl\": \"\",\n            \"title\": \"\"\n          },\n          \"form\": {\n            \"formUrl\": \"\",\n            \"responseUrl\": \"\",\n            \"thumbnailUrl\": \"\",\n            \"title\": \"\"\n          },\n          \"link\": {\n            \"thumbnailUrl\": \"\",\n            \"title\": \"\",\n            \"url\": \"\"\n          },\n          \"youTubeVideo\": {\n            \"alternateLink\": \"\",\n            \"id\": \"\",\n            \"thumbnailUrl\": \"\",\n            \"title\": \"\"\n          }\n        }\n      ],\n      \"title\": \"\"\n    }\n  ],\n  \"courseState\": \"\",\n  \"creationTime\": \"\",\n  \"description\": \"\",\n  \"descriptionHeading\": \"\",\n  \"enrollmentCode\": \"\",\n  \"gradebookSettings\": {\n    \"calculationType\": \"\",\n    \"displaySetting\": \"\",\n    \"gradeCategories\": [\n      {\n        \"defaultGradeDenominator\": 0,\n        \"id\": \"\",\n        \"name\": \"\",\n        \"weight\": 0\n      }\n    ]\n  },\n  \"guardiansEnabled\": false,\n  \"id\": \"\",\n  \"name\": \"\",\n  \"ownerId\": \"\",\n  \"room\": \"\",\n  \"section\": \"\",\n  \"teacherFolder\": {\n    \"alternateLink\": \"\",\n    \"id\": \"\",\n    \"title\": \"\"\n  },\n  \"teacherGroupEmail\": \"\",\n  \"updateTime\": \"\"\n}");

CURLcode ret = curl_easy_perform(hnd);
(require '[clj-http.client :as client])

(client/put "{{baseUrl}}/v1/courses/:id" {:content-type :json
                                                          :form-params {:alternateLink ""
                                                                        :calendarId ""
                                                                        :courseGroupEmail ""
                                                                        :courseMaterialSets [{:materials [{:driveFile {:alternateLink ""
                                                                                                                       :id ""
                                                                                                                       :thumbnailUrl ""
                                                                                                                       :title ""}
                                                                                                           :form {:formUrl ""
                                                                                                                  :responseUrl ""
                                                                                                                  :thumbnailUrl ""
                                                                                                                  :title ""}
                                                                                                           :link {:thumbnailUrl ""
                                                                                                                  :title ""
                                                                                                                  :url ""}
                                                                                                           :youTubeVideo {:alternateLink ""
                                                                                                                          :id ""
                                                                                                                          :thumbnailUrl ""
                                                                                                                          :title ""}}]
                                                                                              :title ""}]
                                                                        :courseState ""
                                                                        :creationTime ""
                                                                        :description ""
                                                                        :descriptionHeading ""
                                                                        :enrollmentCode ""
                                                                        :gradebookSettings {:calculationType ""
                                                                                            :displaySetting ""
                                                                                            :gradeCategories [{:defaultGradeDenominator 0
                                                                                                               :id ""
                                                                                                               :name ""
                                                                                                               :weight 0}]}
                                                                        :guardiansEnabled false
                                                                        :id ""
                                                                        :name ""
                                                                        :ownerId ""
                                                                        :room ""
                                                                        :section ""
                                                                        :teacherFolder {:alternateLink ""
                                                                                        :id ""
                                                                                        :title ""}
                                                                        :teacherGroupEmail ""
                                                                        :updateTime ""}})
require "http/client"

url = "{{baseUrl}}/v1/courses/:id"
headers = HTTP::Headers{
  "content-type" => "application/json"
}
reqBody = "{\n  \"alternateLink\": \"\",\n  \"calendarId\": \"\",\n  \"courseGroupEmail\": \"\",\n  \"courseMaterialSets\": [\n    {\n      \"materials\": [\n        {\n          \"driveFile\": {\n            \"alternateLink\": \"\",\n            \"id\": \"\",\n            \"thumbnailUrl\": \"\",\n            \"title\": \"\"\n          },\n          \"form\": {\n            \"formUrl\": \"\",\n            \"responseUrl\": \"\",\n            \"thumbnailUrl\": \"\",\n            \"title\": \"\"\n          },\n          \"link\": {\n            \"thumbnailUrl\": \"\",\n            \"title\": \"\",\n            \"url\": \"\"\n          },\n          \"youTubeVideo\": {\n            \"alternateLink\": \"\",\n            \"id\": \"\",\n            \"thumbnailUrl\": \"\",\n            \"title\": \"\"\n          }\n        }\n      ],\n      \"title\": \"\"\n    }\n  ],\n  \"courseState\": \"\",\n  \"creationTime\": \"\",\n  \"description\": \"\",\n  \"descriptionHeading\": \"\",\n  \"enrollmentCode\": \"\",\n  \"gradebookSettings\": {\n    \"calculationType\": \"\",\n    \"displaySetting\": \"\",\n    \"gradeCategories\": [\n      {\n        \"defaultGradeDenominator\": 0,\n        \"id\": \"\",\n        \"name\": \"\",\n        \"weight\": 0\n      }\n    ]\n  },\n  \"guardiansEnabled\": false,\n  \"id\": \"\",\n  \"name\": \"\",\n  \"ownerId\": \"\",\n  \"room\": \"\",\n  \"section\": \"\",\n  \"teacherFolder\": {\n    \"alternateLink\": \"\",\n    \"id\": \"\",\n    \"title\": \"\"\n  },\n  \"teacherGroupEmail\": \"\",\n  \"updateTime\": \"\"\n}"

response = HTTP::Client.put url, headers: headers, body: reqBody
puts response.body
using System.Net.Http.Headers;
var client = new HttpClient();
var request = new HttpRequestMessage
{
    Method = HttpMethod.Put,
    RequestUri = new Uri("{{baseUrl}}/v1/courses/:id"),
    Content = new StringContent("{\n  \"alternateLink\": \"\",\n  \"calendarId\": \"\",\n  \"courseGroupEmail\": \"\",\n  \"courseMaterialSets\": [\n    {\n      \"materials\": [\n        {\n          \"driveFile\": {\n            \"alternateLink\": \"\",\n            \"id\": \"\",\n            \"thumbnailUrl\": \"\",\n            \"title\": \"\"\n          },\n          \"form\": {\n            \"formUrl\": \"\",\n            \"responseUrl\": \"\",\n            \"thumbnailUrl\": \"\",\n            \"title\": \"\"\n          },\n          \"link\": {\n            \"thumbnailUrl\": \"\",\n            \"title\": \"\",\n            \"url\": \"\"\n          },\n          \"youTubeVideo\": {\n            \"alternateLink\": \"\",\n            \"id\": \"\",\n            \"thumbnailUrl\": \"\",\n            \"title\": \"\"\n          }\n        }\n      ],\n      \"title\": \"\"\n    }\n  ],\n  \"courseState\": \"\",\n  \"creationTime\": \"\",\n  \"description\": \"\",\n  \"descriptionHeading\": \"\",\n  \"enrollmentCode\": \"\",\n  \"gradebookSettings\": {\n    \"calculationType\": \"\",\n    \"displaySetting\": \"\",\n    \"gradeCategories\": [\n      {\n        \"defaultGradeDenominator\": 0,\n        \"id\": \"\",\n        \"name\": \"\",\n        \"weight\": 0\n      }\n    ]\n  },\n  \"guardiansEnabled\": false,\n  \"id\": \"\",\n  \"name\": \"\",\n  \"ownerId\": \"\",\n  \"room\": \"\",\n  \"section\": \"\",\n  \"teacherFolder\": {\n    \"alternateLink\": \"\",\n    \"id\": \"\",\n    \"title\": \"\"\n  },\n  \"teacherGroupEmail\": \"\",\n  \"updateTime\": \"\"\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}}/v1/courses/:id");
var request = new RestRequest("", Method.Put);
request.AddHeader("content-type", "application/json");
request.AddParameter("application/json", "{\n  \"alternateLink\": \"\",\n  \"calendarId\": \"\",\n  \"courseGroupEmail\": \"\",\n  \"courseMaterialSets\": [\n    {\n      \"materials\": [\n        {\n          \"driveFile\": {\n            \"alternateLink\": \"\",\n            \"id\": \"\",\n            \"thumbnailUrl\": \"\",\n            \"title\": \"\"\n          },\n          \"form\": {\n            \"formUrl\": \"\",\n            \"responseUrl\": \"\",\n            \"thumbnailUrl\": \"\",\n            \"title\": \"\"\n          },\n          \"link\": {\n            \"thumbnailUrl\": \"\",\n            \"title\": \"\",\n            \"url\": \"\"\n          },\n          \"youTubeVideo\": {\n            \"alternateLink\": \"\",\n            \"id\": \"\",\n            \"thumbnailUrl\": \"\",\n            \"title\": \"\"\n          }\n        }\n      ],\n      \"title\": \"\"\n    }\n  ],\n  \"courseState\": \"\",\n  \"creationTime\": \"\",\n  \"description\": \"\",\n  \"descriptionHeading\": \"\",\n  \"enrollmentCode\": \"\",\n  \"gradebookSettings\": {\n    \"calculationType\": \"\",\n    \"displaySetting\": \"\",\n    \"gradeCategories\": [\n      {\n        \"defaultGradeDenominator\": 0,\n        \"id\": \"\",\n        \"name\": \"\",\n        \"weight\": 0\n      }\n    ]\n  },\n  \"guardiansEnabled\": false,\n  \"id\": \"\",\n  \"name\": \"\",\n  \"ownerId\": \"\",\n  \"room\": \"\",\n  \"section\": \"\",\n  \"teacherFolder\": {\n    \"alternateLink\": \"\",\n    \"id\": \"\",\n    \"title\": \"\"\n  },\n  \"teacherGroupEmail\": \"\",\n  \"updateTime\": \"\"\n}", ParameterType.RequestBody);
var response = client.Execute(request);
package main

import (
	"fmt"
	"strings"
	"net/http"
	"io"
)

func main() {

	url := "{{baseUrl}}/v1/courses/:id"

	payload := strings.NewReader("{\n  \"alternateLink\": \"\",\n  \"calendarId\": \"\",\n  \"courseGroupEmail\": \"\",\n  \"courseMaterialSets\": [\n    {\n      \"materials\": [\n        {\n          \"driveFile\": {\n            \"alternateLink\": \"\",\n            \"id\": \"\",\n            \"thumbnailUrl\": \"\",\n            \"title\": \"\"\n          },\n          \"form\": {\n            \"formUrl\": \"\",\n            \"responseUrl\": \"\",\n            \"thumbnailUrl\": \"\",\n            \"title\": \"\"\n          },\n          \"link\": {\n            \"thumbnailUrl\": \"\",\n            \"title\": \"\",\n            \"url\": \"\"\n          },\n          \"youTubeVideo\": {\n            \"alternateLink\": \"\",\n            \"id\": \"\",\n            \"thumbnailUrl\": \"\",\n            \"title\": \"\"\n          }\n        }\n      ],\n      \"title\": \"\"\n    }\n  ],\n  \"courseState\": \"\",\n  \"creationTime\": \"\",\n  \"description\": \"\",\n  \"descriptionHeading\": \"\",\n  \"enrollmentCode\": \"\",\n  \"gradebookSettings\": {\n    \"calculationType\": \"\",\n    \"displaySetting\": \"\",\n    \"gradeCategories\": [\n      {\n        \"defaultGradeDenominator\": 0,\n        \"id\": \"\",\n        \"name\": \"\",\n        \"weight\": 0\n      }\n    ]\n  },\n  \"guardiansEnabled\": false,\n  \"id\": \"\",\n  \"name\": \"\",\n  \"ownerId\": \"\",\n  \"room\": \"\",\n  \"section\": \"\",\n  \"teacherFolder\": {\n    \"alternateLink\": \"\",\n    \"id\": \"\",\n    \"title\": \"\"\n  },\n  \"teacherGroupEmail\": \"\",\n  \"updateTime\": \"\"\n}")

	req, _ := http.NewRequest("PUT", url, payload)

	req.Header.Add("content-type", "application/json")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
PUT /baseUrl/v1/courses/:id HTTP/1.1
Content-Type: application/json
Host: example.com
Content-Length: 1314

{
  "alternateLink": "",
  "calendarId": "",
  "courseGroupEmail": "",
  "courseMaterialSets": [
    {
      "materials": [
        {
          "driveFile": {
            "alternateLink": "",
            "id": "",
            "thumbnailUrl": "",
            "title": ""
          },
          "form": {
            "formUrl": "",
            "responseUrl": "",
            "thumbnailUrl": "",
            "title": ""
          },
          "link": {
            "thumbnailUrl": "",
            "title": "",
            "url": ""
          },
          "youTubeVideo": {
            "alternateLink": "",
            "id": "",
            "thumbnailUrl": "",
            "title": ""
          }
        }
      ],
      "title": ""
    }
  ],
  "courseState": "",
  "creationTime": "",
  "description": "",
  "descriptionHeading": "",
  "enrollmentCode": "",
  "gradebookSettings": {
    "calculationType": "",
    "displaySetting": "",
    "gradeCategories": [
      {
        "defaultGradeDenominator": 0,
        "id": "",
        "name": "",
        "weight": 0
      }
    ]
  },
  "guardiansEnabled": false,
  "id": "",
  "name": "",
  "ownerId": "",
  "room": "",
  "section": "",
  "teacherFolder": {
    "alternateLink": "",
    "id": "",
    "title": ""
  },
  "teacherGroupEmail": "",
  "updateTime": ""
}
AsyncHttpClient client = new DefaultAsyncHttpClient();
client.prepare("PUT", "{{baseUrl}}/v1/courses/:id")
  .setHeader("content-type", "application/json")
  .setBody("{\n  \"alternateLink\": \"\",\n  \"calendarId\": \"\",\n  \"courseGroupEmail\": \"\",\n  \"courseMaterialSets\": [\n    {\n      \"materials\": [\n        {\n          \"driveFile\": {\n            \"alternateLink\": \"\",\n            \"id\": \"\",\n            \"thumbnailUrl\": \"\",\n            \"title\": \"\"\n          },\n          \"form\": {\n            \"formUrl\": \"\",\n            \"responseUrl\": \"\",\n            \"thumbnailUrl\": \"\",\n            \"title\": \"\"\n          },\n          \"link\": {\n            \"thumbnailUrl\": \"\",\n            \"title\": \"\",\n            \"url\": \"\"\n          },\n          \"youTubeVideo\": {\n            \"alternateLink\": \"\",\n            \"id\": \"\",\n            \"thumbnailUrl\": \"\",\n            \"title\": \"\"\n          }\n        }\n      ],\n      \"title\": \"\"\n    }\n  ],\n  \"courseState\": \"\",\n  \"creationTime\": \"\",\n  \"description\": \"\",\n  \"descriptionHeading\": \"\",\n  \"enrollmentCode\": \"\",\n  \"gradebookSettings\": {\n    \"calculationType\": \"\",\n    \"displaySetting\": \"\",\n    \"gradeCategories\": [\n      {\n        \"defaultGradeDenominator\": 0,\n        \"id\": \"\",\n        \"name\": \"\",\n        \"weight\": 0\n      }\n    ]\n  },\n  \"guardiansEnabled\": false,\n  \"id\": \"\",\n  \"name\": \"\",\n  \"ownerId\": \"\",\n  \"room\": \"\",\n  \"section\": \"\",\n  \"teacherFolder\": {\n    \"alternateLink\": \"\",\n    \"id\": \"\",\n    \"title\": \"\"\n  },\n  \"teacherGroupEmail\": \"\",\n  \"updateTime\": \"\"\n}")
  .execute()
  .toCompletableFuture()
  .thenAccept(System.out::println)
  .join();

client.close();
HttpRequest request = HttpRequest.newBuilder()
    .uri(URI.create("{{baseUrl}}/v1/courses/:id"))
    .header("content-type", "application/json")
    .method("PUT", HttpRequest.BodyPublishers.ofString("{\n  \"alternateLink\": \"\",\n  \"calendarId\": \"\",\n  \"courseGroupEmail\": \"\",\n  \"courseMaterialSets\": [\n    {\n      \"materials\": [\n        {\n          \"driveFile\": {\n            \"alternateLink\": \"\",\n            \"id\": \"\",\n            \"thumbnailUrl\": \"\",\n            \"title\": \"\"\n          },\n          \"form\": {\n            \"formUrl\": \"\",\n            \"responseUrl\": \"\",\n            \"thumbnailUrl\": \"\",\n            \"title\": \"\"\n          },\n          \"link\": {\n            \"thumbnailUrl\": \"\",\n            \"title\": \"\",\n            \"url\": \"\"\n          },\n          \"youTubeVideo\": {\n            \"alternateLink\": \"\",\n            \"id\": \"\",\n            \"thumbnailUrl\": \"\",\n            \"title\": \"\"\n          }\n        }\n      ],\n      \"title\": \"\"\n    }\n  ],\n  \"courseState\": \"\",\n  \"creationTime\": \"\",\n  \"description\": \"\",\n  \"descriptionHeading\": \"\",\n  \"enrollmentCode\": \"\",\n  \"gradebookSettings\": {\n    \"calculationType\": \"\",\n    \"displaySetting\": \"\",\n    \"gradeCategories\": [\n      {\n        \"defaultGradeDenominator\": 0,\n        \"id\": \"\",\n        \"name\": \"\",\n        \"weight\": 0\n      }\n    ]\n  },\n  \"guardiansEnabled\": false,\n  \"id\": \"\",\n  \"name\": \"\",\n  \"ownerId\": \"\",\n  \"room\": \"\",\n  \"section\": \"\",\n  \"teacherFolder\": {\n    \"alternateLink\": \"\",\n    \"id\": \"\",\n    \"title\": \"\"\n  },\n  \"teacherGroupEmail\": \"\",\n  \"updateTime\": \"\"\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  \"alternateLink\": \"\",\n  \"calendarId\": \"\",\n  \"courseGroupEmail\": \"\",\n  \"courseMaterialSets\": [\n    {\n      \"materials\": [\n        {\n          \"driveFile\": {\n            \"alternateLink\": \"\",\n            \"id\": \"\",\n            \"thumbnailUrl\": \"\",\n            \"title\": \"\"\n          },\n          \"form\": {\n            \"formUrl\": \"\",\n            \"responseUrl\": \"\",\n            \"thumbnailUrl\": \"\",\n            \"title\": \"\"\n          },\n          \"link\": {\n            \"thumbnailUrl\": \"\",\n            \"title\": \"\",\n            \"url\": \"\"\n          },\n          \"youTubeVideo\": {\n            \"alternateLink\": \"\",\n            \"id\": \"\",\n            \"thumbnailUrl\": \"\",\n            \"title\": \"\"\n          }\n        }\n      ],\n      \"title\": \"\"\n    }\n  ],\n  \"courseState\": \"\",\n  \"creationTime\": \"\",\n  \"description\": \"\",\n  \"descriptionHeading\": \"\",\n  \"enrollmentCode\": \"\",\n  \"gradebookSettings\": {\n    \"calculationType\": \"\",\n    \"displaySetting\": \"\",\n    \"gradeCategories\": [\n      {\n        \"defaultGradeDenominator\": 0,\n        \"id\": \"\",\n        \"name\": \"\",\n        \"weight\": 0\n      }\n    ]\n  },\n  \"guardiansEnabled\": false,\n  \"id\": \"\",\n  \"name\": \"\",\n  \"ownerId\": \"\",\n  \"room\": \"\",\n  \"section\": \"\",\n  \"teacherFolder\": {\n    \"alternateLink\": \"\",\n    \"id\": \"\",\n    \"title\": \"\"\n  },\n  \"teacherGroupEmail\": \"\",\n  \"updateTime\": \"\"\n}");
Request request = new Request.Builder()
  .url("{{baseUrl}}/v1/courses/:id")
  .put(body)
  .addHeader("content-type", "application/json")
  .build();

Response response = client.newCall(request).execute();
HttpResponse response = Unirest.put("{{baseUrl}}/v1/courses/:id")
  .header("content-type", "application/json")
  .body("{\n  \"alternateLink\": \"\",\n  \"calendarId\": \"\",\n  \"courseGroupEmail\": \"\",\n  \"courseMaterialSets\": [\n    {\n      \"materials\": [\n        {\n          \"driveFile\": {\n            \"alternateLink\": \"\",\n            \"id\": \"\",\n            \"thumbnailUrl\": \"\",\n            \"title\": \"\"\n          },\n          \"form\": {\n            \"formUrl\": \"\",\n            \"responseUrl\": \"\",\n            \"thumbnailUrl\": \"\",\n            \"title\": \"\"\n          },\n          \"link\": {\n            \"thumbnailUrl\": \"\",\n            \"title\": \"\",\n            \"url\": \"\"\n          },\n          \"youTubeVideo\": {\n            \"alternateLink\": \"\",\n            \"id\": \"\",\n            \"thumbnailUrl\": \"\",\n            \"title\": \"\"\n          }\n        }\n      ],\n      \"title\": \"\"\n    }\n  ],\n  \"courseState\": \"\",\n  \"creationTime\": \"\",\n  \"description\": \"\",\n  \"descriptionHeading\": \"\",\n  \"enrollmentCode\": \"\",\n  \"gradebookSettings\": {\n    \"calculationType\": \"\",\n    \"displaySetting\": \"\",\n    \"gradeCategories\": [\n      {\n        \"defaultGradeDenominator\": 0,\n        \"id\": \"\",\n        \"name\": \"\",\n        \"weight\": 0\n      }\n    ]\n  },\n  \"guardiansEnabled\": false,\n  \"id\": \"\",\n  \"name\": \"\",\n  \"ownerId\": \"\",\n  \"room\": \"\",\n  \"section\": \"\",\n  \"teacherFolder\": {\n    \"alternateLink\": \"\",\n    \"id\": \"\",\n    \"title\": \"\"\n  },\n  \"teacherGroupEmail\": \"\",\n  \"updateTime\": \"\"\n}")
  .asString();
const data = JSON.stringify({
  alternateLink: '',
  calendarId: '',
  courseGroupEmail: '',
  courseMaterialSets: [
    {
      materials: [
        {
          driveFile: {
            alternateLink: '',
            id: '',
            thumbnailUrl: '',
            title: ''
          },
          form: {
            formUrl: '',
            responseUrl: '',
            thumbnailUrl: '',
            title: ''
          },
          link: {
            thumbnailUrl: '',
            title: '',
            url: ''
          },
          youTubeVideo: {
            alternateLink: '',
            id: '',
            thumbnailUrl: '',
            title: ''
          }
        }
      ],
      title: ''
    }
  ],
  courseState: '',
  creationTime: '',
  description: '',
  descriptionHeading: '',
  enrollmentCode: '',
  gradebookSettings: {
    calculationType: '',
    displaySetting: '',
    gradeCategories: [
      {
        defaultGradeDenominator: 0,
        id: '',
        name: '',
        weight: 0
      }
    ]
  },
  guardiansEnabled: false,
  id: '',
  name: '',
  ownerId: '',
  room: '',
  section: '',
  teacherFolder: {
    alternateLink: '',
    id: '',
    title: ''
  },
  teacherGroupEmail: '',
  updateTime: ''
});

const xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener('readystatechange', function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open('PUT', '{{baseUrl}}/v1/courses/:id');
xhr.setRequestHeader('content-type', 'application/json');

xhr.send(data);
import axios from 'axios';

const options = {
  method: 'PUT',
  url: '{{baseUrl}}/v1/courses/:id',
  headers: {'content-type': 'application/json'},
  data: {
    alternateLink: '',
    calendarId: '',
    courseGroupEmail: '',
    courseMaterialSets: [
      {
        materials: [
          {
            driveFile: {alternateLink: '', id: '', thumbnailUrl: '', title: ''},
            form: {formUrl: '', responseUrl: '', thumbnailUrl: '', title: ''},
            link: {thumbnailUrl: '', title: '', url: ''},
            youTubeVideo: {alternateLink: '', id: '', thumbnailUrl: '', title: ''}
          }
        ],
        title: ''
      }
    ],
    courseState: '',
    creationTime: '',
    description: '',
    descriptionHeading: '',
    enrollmentCode: '',
    gradebookSettings: {
      calculationType: '',
      displaySetting: '',
      gradeCategories: [{defaultGradeDenominator: 0, id: '', name: '', weight: 0}]
    },
    guardiansEnabled: false,
    id: '',
    name: '',
    ownerId: '',
    room: '',
    section: '',
    teacherFolder: {alternateLink: '', id: '', title: ''},
    teacherGroupEmail: '',
    updateTime: ''
  }
};

try {
  const { data } = await axios.request(options);
  console.log(data);
} catch (error) {
  console.error(error);
}
const url = '{{baseUrl}}/v1/courses/:id';
const options = {
  method: 'PUT',
  headers: {'content-type': 'application/json'},
  body: '{"alternateLink":"","calendarId":"","courseGroupEmail":"","courseMaterialSets":[{"materials":[{"driveFile":{"alternateLink":"","id":"","thumbnailUrl":"","title":""},"form":{"formUrl":"","responseUrl":"","thumbnailUrl":"","title":""},"link":{"thumbnailUrl":"","title":"","url":""},"youTubeVideo":{"alternateLink":"","id":"","thumbnailUrl":"","title":""}}],"title":""}],"courseState":"","creationTime":"","description":"","descriptionHeading":"","enrollmentCode":"","gradebookSettings":{"calculationType":"","displaySetting":"","gradeCategories":[{"defaultGradeDenominator":0,"id":"","name":"","weight":0}]},"guardiansEnabled":false,"id":"","name":"","ownerId":"","room":"","section":"","teacherFolder":{"alternateLink":"","id":"","title":""},"teacherGroupEmail":"","updateTime":""}'
};

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}}/v1/courses/:id',
  method: 'PUT',
  headers: {
    'content-type': 'application/json'
  },
  processData: false,
  data: '{\n  "alternateLink": "",\n  "calendarId": "",\n  "courseGroupEmail": "",\n  "courseMaterialSets": [\n    {\n      "materials": [\n        {\n          "driveFile": {\n            "alternateLink": "",\n            "id": "",\n            "thumbnailUrl": "",\n            "title": ""\n          },\n          "form": {\n            "formUrl": "",\n            "responseUrl": "",\n            "thumbnailUrl": "",\n            "title": ""\n          },\n          "link": {\n            "thumbnailUrl": "",\n            "title": "",\n            "url": ""\n          },\n          "youTubeVideo": {\n            "alternateLink": "",\n            "id": "",\n            "thumbnailUrl": "",\n            "title": ""\n          }\n        }\n      ],\n      "title": ""\n    }\n  ],\n  "courseState": "",\n  "creationTime": "",\n  "description": "",\n  "descriptionHeading": "",\n  "enrollmentCode": "",\n  "gradebookSettings": {\n    "calculationType": "",\n    "displaySetting": "",\n    "gradeCategories": [\n      {\n        "defaultGradeDenominator": 0,\n        "id": "",\n        "name": "",\n        "weight": 0\n      }\n    ]\n  },\n  "guardiansEnabled": false,\n  "id": "",\n  "name": "",\n  "ownerId": "",\n  "room": "",\n  "section": "",\n  "teacherFolder": {\n    "alternateLink": "",\n    "id": "",\n    "title": ""\n  },\n  "teacherGroupEmail": "",\n  "updateTime": ""\n}'
};

$.ajax(settings).done(function (response) {
  console.log(response);
});
val client = OkHttpClient()

val mediaType = MediaType.parse("application/json")
val body = RequestBody.create(mediaType, "{\n  \"alternateLink\": \"\",\n  \"calendarId\": \"\",\n  \"courseGroupEmail\": \"\",\n  \"courseMaterialSets\": [\n    {\n      \"materials\": [\n        {\n          \"driveFile\": {\n            \"alternateLink\": \"\",\n            \"id\": \"\",\n            \"thumbnailUrl\": \"\",\n            \"title\": \"\"\n          },\n          \"form\": {\n            \"formUrl\": \"\",\n            \"responseUrl\": \"\",\n            \"thumbnailUrl\": \"\",\n            \"title\": \"\"\n          },\n          \"link\": {\n            \"thumbnailUrl\": \"\",\n            \"title\": \"\",\n            \"url\": \"\"\n          },\n          \"youTubeVideo\": {\n            \"alternateLink\": \"\",\n            \"id\": \"\",\n            \"thumbnailUrl\": \"\",\n            \"title\": \"\"\n          }\n        }\n      ],\n      \"title\": \"\"\n    }\n  ],\n  \"courseState\": \"\",\n  \"creationTime\": \"\",\n  \"description\": \"\",\n  \"descriptionHeading\": \"\",\n  \"enrollmentCode\": \"\",\n  \"gradebookSettings\": {\n    \"calculationType\": \"\",\n    \"displaySetting\": \"\",\n    \"gradeCategories\": [\n      {\n        \"defaultGradeDenominator\": 0,\n        \"id\": \"\",\n        \"name\": \"\",\n        \"weight\": 0\n      }\n    ]\n  },\n  \"guardiansEnabled\": false,\n  \"id\": \"\",\n  \"name\": \"\",\n  \"ownerId\": \"\",\n  \"room\": \"\",\n  \"section\": \"\",\n  \"teacherFolder\": {\n    \"alternateLink\": \"\",\n    \"id\": \"\",\n    \"title\": \"\"\n  },\n  \"teacherGroupEmail\": \"\",\n  \"updateTime\": \"\"\n}")
val request = Request.Builder()
  .url("{{baseUrl}}/v1/courses/:id")
  .put(body)
  .addHeader("content-type", "application/json")
  .build()

val response = client.newCall(request).execute()
const http = require('https');

const options = {
  method: 'PUT',
  hostname: 'example.com',
  port: null,
  path: '/baseUrl/v1/courses/:id',
  headers: {
    'content-type': 'application/json'
  }
};

const req = http.request(options, function (res) {
  const chunks = [];

  res.on('data', function (chunk) {
    chunks.push(chunk);
  });

  res.on('end', function () {
    const body = Buffer.concat(chunks);
    console.log(body.toString());
  });
});

req.write(JSON.stringify({
  alternateLink: '',
  calendarId: '',
  courseGroupEmail: '',
  courseMaterialSets: [
    {
      materials: [
        {
          driveFile: {alternateLink: '', id: '', thumbnailUrl: '', title: ''},
          form: {formUrl: '', responseUrl: '', thumbnailUrl: '', title: ''},
          link: {thumbnailUrl: '', title: '', url: ''},
          youTubeVideo: {alternateLink: '', id: '', thumbnailUrl: '', title: ''}
        }
      ],
      title: ''
    }
  ],
  courseState: '',
  creationTime: '',
  description: '',
  descriptionHeading: '',
  enrollmentCode: '',
  gradebookSettings: {
    calculationType: '',
    displaySetting: '',
    gradeCategories: [{defaultGradeDenominator: 0, id: '', name: '', weight: 0}]
  },
  guardiansEnabled: false,
  id: '',
  name: '',
  ownerId: '',
  room: '',
  section: '',
  teacherFolder: {alternateLink: '', id: '', title: ''},
  teacherGroupEmail: '',
  updateTime: ''
}));
req.end();
const request = require('request');

const options = {
  method: 'PUT',
  url: '{{baseUrl}}/v1/courses/:id',
  headers: {'content-type': 'application/json'},
  body: {
    alternateLink: '',
    calendarId: '',
    courseGroupEmail: '',
    courseMaterialSets: [
      {
        materials: [
          {
            driveFile: {alternateLink: '', id: '', thumbnailUrl: '', title: ''},
            form: {formUrl: '', responseUrl: '', thumbnailUrl: '', title: ''},
            link: {thumbnailUrl: '', title: '', url: ''},
            youTubeVideo: {alternateLink: '', id: '', thumbnailUrl: '', title: ''}
          }
        ],
        title: ''
      }
    ],
    courseState: '',
    creationTime: '',
    description: '',
    descriptionHeading: '',
    enrollmentCode: '',
    gradebookSettings: {
      calculationType: '',
      displaySetting: '',
      gradeCategories: [{defaultGradeDenominator: 0, id: '', name: '', weight: 0}]
    },
    guardiansEnabled: false,
    id: '',
    name: '',
    ownerId: '',
    room: '',
    section: '',
    teacherFolder: {alternateLink: '', id: '', title: ''},
    teacherGroupEmail: '',
    updateTime: ''
  },
  json: true
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
const unirest = require('unirest');

const req = unirest('PUT', '{{baseUrl}}/v1/courses/:id');

req.headers({
  'content-type': 'application/json'
});

req.type('json');
req.send({
  alternateLink: '',
  calendarId: '',
  courseGroupEmail: '',
  courseMaterialSets: [
    {
      materials: [
        {
          driveFile: {
            alternateLink: '',
            id: '',
            thumbnailUrl: '',
            title: ''
          },
          form: {
            formUrl: '',
            responseUrl: '',
            thumbnailUrl: '',
            title: ''
          },
          link: {
            thumbnailUrl: '',
            title: '',
            url: ''
          },
          youTubeVideo: {
            alternateLink: '',
            id: '',
            thumbnailUrl: '',
            title: ''
          }
        }
      ],
      title: ''
    }
  ],
  courseState: '',
  creationTime: '',
  description: '',
  descriptionHeading: '',
  enrollmentCode: '',
  gradebookSettings: {
    calculationType: '',
    displaySetting: '',
    gradeCategories: [
      {
        defaultGradeDenominator: 0,
        id: '',
        name: '',
        weight: 0
      }
    ]
  },
  guardiansEnabled: false,
  id: '',
  name: '',
  ownerId: '',
  room: '',
  section: '',
  teacherFolder: {
    alternateLink: '',
    id: '',
    title: ''
  },
  teacherGroupEmail: '',
  updateTime: ''
});

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}}/v1/courses/:id',
  headers: {'content-type': 'application/json'},
  data: {
    alternateLink: '',
    calendarId: '',
    courseGroupEmail: '',
    courseMaterialSets: [
      {
        materials: [
          {
            driveFile: {alternateLink: '', id: '', thumbnailUrl: '', title: ''},
            form: {formUrl: '', responseUrl: '', thumbnailUrl: '', title: ''},
            link: {thumbnailUrl: '', title: '', url: ''},
            youTubeVideo: {alternateLink: '', id: '', thumbnailUrl: '', title: ''}
          }
        ],
        title: ''
      }
    ],
    courseState: '',
    creationTime: '',
    description: '',
    descriptionHeading: '',
    enrollmentCode: '',
    gradebookSettings: {
      calculationType: '',
      displaySetting: '',
      gradeCategories: [{defaultGradeDenominator: 0, id: '', name: '', weight: 0}]
    },
    guardiansEnabled: false,
    id: '',
    name: '',
    ownerId: '',
    room: '',
    section: '',
    teacherFolder: {alternateLink: '', id: '', title: ''},
    teacherGroupEmail: '',
    updateTime: ''
  }
};

try {
  const { data } = await axios.request(options);
  console.log(data);
} catch (error) {
  console.error(error);
}
const fetch = require('node-fetch');

const url = '{{baseUrl}}/v1/courses/:id';
const options = {
  method: 'PUT',
  headers: {'content-type': 'application/json'},
  body: '{"alternateLink":"","calendarId":"","courseGroupEmail":"","courseMaterialSets":[{"materials":[{"driveFile":{"alternateLink":"","id":"","thumbnailUrl":"","title":""},"form":{"formUrl":"","responseUrl":"","thumbnailUrl":"","title":""},"link":{"thumbnailUrl":"","title":"","url":""},"youTubeVideo":{"alternateLink":"","id":"","thumbnailUrl":"","title":""}}],"title":""}],"courseState":"","creationTime":"","description":"","descriptionHeading":"","enrollmentCode":"","gradebookSettings":{"calculationType":"","displaySetting":"","gradeCategories":[{"defaultGradeDenominator":0,"id":"","name":"","weight":0}]},"guardiansEnabled":false,"id":"","name":"","ownerId":"","room":"","section":"","teacherFolder":{"alternateLink":"","id":"","title":""},"teacherGroupEmail":"","updateTime":""}'
};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
#import 

NSDictionary *headers = @{ @"content-type": @"application/json" };
NSDictionary *parameters = @{ @"alternateLink": @"",
                              @"calendarId": @"",
                              @"courseGroupEmail": @"",
                              @"courseMaterialSets": @[ @{ @"materials": @[ @{ @"driveFile": @{ @"alternateLink": @"", @"id": @"", @"thumbnailUrl": @"", @"title": @"" }, @"form": @{ @"formUrl": @"", @"responseUrl": @"", @"thumbnailUrl": @"", @"title": @"" }, @"link": @{ @"thumbnailUrl": @"", @"title": @"", @"url": @"" }, @"youTubeVideo": @{ @"alternateLink": @"", @"id": @"", @"thumbnailUrl": @"", @"title": @"" } } ], @"title": @"" } ],
                              @"courseState": @"",
                              @"creationTime": @"",
                              @"description": @"",
                              @"descriptionHeading": @"",
                              @"enrollmentCode": @"",
                              @"gradebookSettings": @{ @"calculationType": @"", @"displaySetting": @"", @"gradeCategories": @[ @{ @"defaultGradeDenominator": @0, @"id": @"", @"name": @"", @"weight": @0 } ] },
                              @"guardiansEnabled": @NO,
                              @"id": @"",
                              @"name": @"",
                              @"ownerId": @"",
                              @"room": @"",
                              @"section": @"",
                              @"teacherFolder": @{ @"alternateLink": @"", @"id": @"", @"title": @"" },
                              @"teacherGroupEmail": @"",
                              @"updateTime": @"" };

NSData *postData = [NSJSONSerialization dataWithJSONObject:parameters options:0 error:nil];

NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"{{baseUrl}}/v1/courses/:id"]
                                                       cachePolicy:NSURLRequestUseProtocolCachePolicy
                                                   timeoutInterval:10.0];
[request setHTTPMethod:@"PUT"];
[request setAllHTTPHeaderFields:headers];
[request setHTTPBody:postData];

NSURLSession *session = [NSURLSession sharedSession];
NSURLSessionDataTask *dataTask = [session dataTaskWithRequest:request
                                            completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
                                                if (error) {
                                                    NSLog(@"%@", error);
                                                } else {
                                                    NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse *) response;
                                                    NSLog(@"%@", httpResponse);
                                                }
                                            }];
[dataTask resume];
open Cohttp_lwt_unix
open Cohttp
open Lwt

let uri = Uri.of_string "{{baseUrl}}/v1/courses/:id" in
let headers = Header.add (Header.init ()) "content-type" "application/json" in
let body = Cohttp_lwt_body.of_string "{\n  \"alternateLink\": \"\",\n  \"calendarId\": \"\",\n  \"courseGroupEmail\": \"\",\n  \"courseMaterialSets\": [\n    {\n      \"materials\": [\n        {\n          \"driveFile\": {\n            \"alternateLink\": \"\",\n            \"id\": \"\",\n            \"thumbnailUrl\": \"\",\n            \"title\": \"\"\n          },\n          \"form\": {\n            \"formUrl\": \"\",\n            \"responseUrl\": \"\",\n            \"thumbnailUrl\": \"\",\n            \"title\": \"\"\n          },\n          \"link\": {\n            \"thumbnailUrl\": \"\",\n            \"title\": \"\",\n            \"url\": \"\"\n          },\n          \"youTubeVideo\": {\n            \"alternateLink\": \"\",\n            \"id\": \"\",\n            \"thumbnailUrl\": \"\",\n            \"title\": \"\"\n          }\n        }\n      ],\n      \"title\": \"\"\n    }\n  ],\n  \"courseState\": \"\",\n  \"creationTime\": \"\",\n  \"description\": \"\",\n  \"descriptionHeading\": \"\",\n  \"enrollmentCode\": \"\",\n  \"gradebookSettings\": {\n    \"calculationType\": \"\",\n    \"displaySetting\": \"\",\n    \"gradeCategories\": [\n      {\n        \"defaultGradeDenominator\": 0,\n        \"id\": \"\",\n        \"name\": \"\",\n        \"weight\": 0\n      }\n    ]\n  },\n  \"guardiansEnabled\": false,\n  \"id\": \"\",\n  \"name\": \"\",\n  \"ownerId\": \"\",\n  \"room\": \"\",\n  \"section\": \"\",\n  \"teacherFolder\": {\n    \"alternateLink\": \"\",\n    \"id\": \"\",\n    \"title\": \"\"\n  },\n  \"teacherGroupEmail\": \"\",\n  \"updateTime\": \"\"\n}" in

Client.call ~headers ~body `PUT uri
>>= fun (res, body_stream) ->
  (* Do stuff with the result *)
 "{{baseUrl}}/v1/courses/:id",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "PUT",
  CURLOPT_POSTFIELDS => json_encode([
    'alternateLink' => '',
    'calendarId' => '',
    'courseGroupEmail' => '',
    'courseMaterialSets' => [
        [
                'materials' => [
                                [
                                                                'driveFile' => [
                                                                                                                                'alternateLink' => '',
                                                                                                                                'id' => '',
                                                                                                                                'thumbnailUrl' => '',
                                                                                                                                'title' => ''
                                                                ],
                                                                'form' => [
                                                                                                                                'formUrl' => '',
                                                                                                                                'responseUrl' => '',
                                                                                                                                'thumbnailUrl' => '',
                                                                                                                                'title' => ''
                                                                ],
                                                                'link' => [
                                                                                                                                'thumbnailUrl' => '',
                                                                                                                                'title' => '',
                                                                                                                                'url' => ''
                                                                ],
                                                                'youTubeVideo' => [
                                                                                                                                'alternateLink' => '',
                                                                                                                                'id' => '',
                                                                                                                                'thumbnailUrl' => '',
                                                                                                                                'title' => ''
                                                                ]
                                ]
                ],
                'title' => ''
        ]
    ],
    'courseState' => '',
    'creationTime' => '',
    'description' => '',
    'descriptionHeading' => '',
    'enrollmentCode' => '',
    'gradebookSettings' => [
        'calculationType' => '',
        'displaySetting' => '',
        'gradeCategories' => [
                [
                                'defaultGradeDenominator' => 0,
                                'id' => '',
                                'name' => '',
                                'weight' => 0
                ]
        ]
    ],
    'guardiansEnabled' => null,
    'id' => '',
    'name' => '',
    'ownerId' => '',
    'room' => '',
    'section' => '',
    'teacherFolder' => [
        'alternateLink' => '',
        'id' => '',
        'title' => ''
    ],
    'teacherGroupEmail' => '',
    'updateTime' => ''
  ]),
  CURLOPT_HTTPHEADER => [
    "content-type: application/json"
  ],
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
request('PUT', '{{baseUrl}}/v1/courses/:id', [
  'body' => '{
  "alternateLink": "",
  "calendarId": "",
  "courseGroupEmail": "",
  "courseMaterialSets": [
    {
      "materials": [
        {
          "driveFile": {
            "alternateLink": "",
            "id": "",
            "thumbnailUrl": "",
            "title": ""
          },
          "form": {
            "formUrl": "",
            "responseUrl": "",
            "thumbnailUrl": "",
            "title": ""
          },
          "link": {
            "thumbnailUrl": "",
            "title": "",
            "url": ""
          },
          "youTubeVideo": {
            "alternateLink": "",
            "id": "",
            "thumbnailUrl": "",
            "title": ""
          }
        }
      ],
      "title": ""
    }
  ],
  "courseState": "",
  "creationTime": "",
  "description": "",
  "descriptionHeading": "",
  "enrollmentCode": "",
  "gradebookSettings": {
    "calculationType": "",
    "displaySetting": "",
    "gradeCategories": [
      {
        "defaultGradeDenominator": 0,
        "id": "",
        "name": "",
        "weight": 0
      }
    ]
  },
  "guardiansEnabled": false,
  "id": "",
  "name": "",
  "ownerId": "",
  "room": "",
  "section": "",
  "teacherFolder": {
    "alternateLink": "",
    "id": "",
    "title": ""
  },
  "teacherGroupEmail": "",
  "updateTime": ""
}',
  'headers' => [
    'content-type' => 'application/json',
  ],
]);

echo $response->getBody();
setUrl('{{baseUrl}}/v1/courses/:id');
$request->setMethod(HTTP_METH_PUT);

$request->setHeaders([
  'content-type' => 'application/json'
]);

$request->setContentType('application/json');
$request->setBody(json_encode([
  'alternateLink' => '',
  'calendarId' => '',
  'courseGroupEmail' => '',
  'courseMaterialSets' => [
    [
        'materials' => [
                [
                                'driveFile' => [
                                                                'alternateLink' => '',
                                                                'id' => '',
                                                                'thumbnailUrl' => '',
                                                                'title' => ''
                                ],
                                'form' => [
                                                                'formUrl' => '',
                                                                'responseUrl' => '',
                                                                'thumbnailUrl' => '',
                                                                'title' => ''
                                ],
                                'link' => [
                                                                'thumbnailUrl' => '',
                                                                'title' => '',
                                                                'url' => ''
                                ],
                                'youTubeVideo' => [
                                                                'alternateLink' => '',
                                                                'id' => '',
                                                                'thumbnailUrl' => '',
                                                                'title' => ''
                                ]
                ]
        ],
        'title' => ''
    ]
  ],
  'courseState' => '',
  'creationTime' => '',
  'description' => '',
  'descriptionHeading' => '',
  'enrollmentCode' => '',
  'gradebookSettings' => [
    'calculationType' => '',
    'displaySetting' => '',
    'gradeCategories' => [
        [
                'defaultGradeDenominator' => 0,
                'id' => '',
                'name' => '',
                'weight' => 0
        ]
    ]
  ],
  'guardiansEnabled' => null,
  'id' => '',
  'name' => '',
  'ownerId' => '',
  'room' => '',
  'section' => '',
  'teacherFolder' => [
    'alternateLink' => '',
    'id' => '',
    'title' => ''
  ],
  'teacherGroupEmail' => '',
  'updateTime' => ''
]));

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
append(json_encode([
  'alternateLink' => '',
  'calendarId' => '',
  'courseGroupEmail' => '',
  'courseMaterialSets' => [
    [
        'materials' => [
                [
                                'driveFile' => [
                                                                'alternateLink' => '',
                                                                'id' => '',
                                                                'thumbnailUrl' => '',
                                                                'title' => ''
                                ],
                                'form' => [
                                                                'formUrl' => '',
                                                                'responseUrl' => '',
                                                                'thumbnailUrl' => '',
                                                                'title' => ''
                                ],
                                'link' => [
                                                                'thumbnailUrl' => '',
                                                                'title' => '',
                                                                'url' => ''
                                ],
                                'youTubeVideo' => [
                                                                'alternateLink' => '',
                                                                'id' => '',
                                                                'thumbnailUrl' => '',
                                                                'title' => ''
                                ]
                ]
        ],
        'title' => ''
    ]
  ],
  'courseState' => '',
  'creationTime' => '',
  'description' => '',
  'descriptionHeading' => '',
  'enrollmentCode' => '',
  'gradebookSettings' => [
    'calculationType' => '',
    'displaySetting' => '',
    'gradeCategories' => [
        [
                'defaultGradeDenominator' => 0,
                'id' => '',
                'name' => '',
                'weight' => 0
        ]
    ]
  ],
  'guardiansEnabled' => null,
  'id' => '',
  'name' => '',
  'ownerId' => '',
  'room' => '',
  'section' => '',
  'teacherFolder' => [
    'alternateLink' => '',
    'id' => '',
    'title' => ''
  ],
  'teacherGroupEmail' => '',
  'updateTime' => ''
]));
$request->setRequestUrl('{{baseUrl}}/v1/courses/:id');
$request->setRequestMethod('PUT');
$request->setBody($body);

$request->setHeaders([
  'content-type' => 'application/json'
]);

$client->enqueue($request)->send();
$response = $client->getResponse();

echo $response->getBody();
$headers=@{}
$headers.Add("content-type", "application/json")
$response = Invoke-WebRequest -Uri '{{baseUrl}}/v1/courses/:id' -Method PUT -Headers $headers -ContentType 'application/json' -Body '{
  "alternateLink": "",
  "calendarId": "",
  "courseGroupEmail": "",
  "courseMaterialSets": [
    {
      "materials": [
        {
          "driveFile": {
            "alternateLink": "",
            "id": "",
            "thumbnailUrl": "",
            "title": ""
          },
          "form": {
            "formUrl": "",
            "responseUrl": "",
            "thumbnailUrl": "",
            "title": ""
          },
          "link": {
            "thumbnailUrl": "",
            "title": "",
            "url": ""
          },
          "youTubeVideo": {
            "alternateLink": "",
            "id": "",
            "thumbnailUrl": "",
            "title": ""
          }
        }
      ],
      "title": ""
    }
  ],
  "courseState": "",
  "creationTime": "",
  "description": "",
  "descriptionHeading": "",
  "enrollmentCode": "",
  "gradebookSettings": {
    "calculationType": "",
    "displaySetting": "",
    "gradeCategories": [
      {
        "defaultGradeDenominator": 0,
        "id": "",
        "name": "",
        "weight": 0
      }
    ]
  },
  "guardiansEnabled": false,
  "id": "",
  "name": "",
  "ownerId": "",
  "room": "",
  "section": "",
  "teacherFolder": {
    "alternateLink": "",
    "id": "",
    "title": ""
  },
  "teacherGroupEmail": "",
  "updateTime": ""
}'
$headers=@{}
$headers.Add("content-type", "application/json")
$response = Invoke-RestMethod -Uri '{{baseUrl}}/v1/courses/:id' -Method PUT -Headers $headers -ContentType 'application/json' -Body '{
  "alternateLink": "",
  "calendarId": "",
  "courseGroupEmail": "",
  "courseMaterialSets": [
    {
      "materials": [
        {
          "driveFile": {
            "alternateLink": "",
            "id": "",
            "thumbnailUrl": "",
            "title": ""
          },
          "form": {
            "formUrl": "",
            "responseUrl": "",
            "thumbnailUrl": "",
            "title": ""
          },
          "link": {
            "thumbnailUrl": "",
            "title": "",
            "url": ""
          },
          "youTubeVideo": {
            "alternateLink": "",
            "id": "",
            "thumbnailUrl": "",
            "title": ""
          }
        }
      ],
      "title": ""
    }
  ],
  "courseState": "",
  "creationTime": "",
  "description": "",
  "descriptionHeading": "",
  "enrollmentCode": "",
  "gradebookSettings": {
    "calculationType": "",
    "displaySetting": "",
    "gradeCategories": [
      {
        "defaultGradeDenominator": 0,
        "id": "",
        "name": "",
        "weight": 0
      }
    ]
  },
  "guardiansEnabled": false,
  "id": "",
  "name": "",
  "ownerId": "",
  "room": "",
  "section": "",
  "teacherFolder": {
    "alternateLink": "",
    "id": "",
    "title": ""
  },
  "teacherGroupEmail": "",
  "updateTime": ""
}'
import http.client

conn = http.client.HTTPSConnection("example.com")

payload = "{\n  \"alternateLink\": \"\",\n  \"calendarId\": \"\",\n  \"courseGroupEmail\": \"\",\n  \"courseMaterialSets\": [\n    {\n      \"materials\": [\n        {\n          \"driveFile\": {\n            \"alternateLink\": \"\",\n            \"id\": \"\",\n            \"thumbnailUrl\": \"\",\n            \"title\": \"\"\n          },\n          \"form\": {\n            \"formUrl\": \"\",\n            \"responseUrl\": \"\",\n            \"thumbnailUrl\": \"\",\n            \"title\": \"\"\n          },\n          \"link\": {\n            \"thumbnailUrl\": \"\",\n            \"title\": \"\",\n            \"url\": \"\"\n          },\n          \"youTubeVideo\": {\n            \"alternateLink\": \"\",\n            \"id\": \"\",\n            \"thumbnailUrl\": \"\",\n            \"title\": \"\"\n          }\n        }\n      ],\n      \"title\": \"\"\n    }\n  ],\n  \"courseState\": \"\",\n  \"creationTime\": \"\",\n  \"description\": \"\",\n  \"descriptionHeading\": \"\",\n  \"enrollmentCode\": \"\",\n  \"gradebookSettings\": {\n    \"calculationType\": \"\",\n    \"displaySetting\": \"\",\n    \"gradeCategories\": [\n      {\n        \"defaultGradeDenominator\": 0,\n        \"id\": \"\",\n        \"name\": \"\",\n        \"weight\": 0\n      }\n    ]\n  },\n  \"guardiansEnabled\": false,\n  \"id\": \"\",\n  \"name\": \"\",\n  \"ownerId\": \"\",\n  \"room\": \"\",\n  \"section\": \"\",\n  \"teacherFolder\": {\n    \"alternateLink\": \"\",\n    \"id\": \"\",\n    \"title\": \"\"\n  },\n  \"teacherGroupEmail\": \"\",\n  \"updateTime\": \"\"\n}"

headers = { 'content-type': "application/json" }

conn.request("PUT", "/baseUrl/v1/courses/:id", payload, headers)

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))
import requests

url = "{{baseUrl}}/v1/courses/:id"

payload = {
    "alternateLink": "",
    "calendarId": "",
    "courseGroupEmail": "",
    "courseMaterialSets": [
        {
            "materials": [
                {
                    "driveFile": {
                        "alternateLink": "",
                        "id": "",
                        "thumbnailUrl": "",
                        "title": ""
                    },
                    "form": {
                        "formUrl": "",
                        "responseUrl": "",
                        "thumbnailUrl": "",
                        "title": ""
                    },
                    "link": {
                        "thumbnailUrl": "",
                        "title": "",
                        "url": ""
                    },
                    "youTubeVideo": {
                        "alternateLink": "",
                        "id": "",
                        "thumbnailUrl": "",
                        "title": ""
                    }
                }
            ],
            "title": ""
        }
    ],
    "courseState": "",
    "creationTime": "",
    "description": "",
    "descriptionHeading": "",
    "enrollmentCode": "",
    "gradebookSettings": {
        "calculationType": "",
        "displaySetting": "",
        "gradeCategories": [
            {
                "defaultGradeDenominator": 0,
                "id": "",
                "name": "",
                "weight": 0
            }
        ]
    },
    "guardiansEnabled": False,
    "id": "",
    "name": "",
    "ownerId": "",
    "room": "",
    "section": "",
    "teacherFolder": {
        "alternateLink": "",
        "id": "",
        "title": ""
    },
    "teacherGroupEmail": "",
    "updateTime": ""
}
headers = {"content-type": "application/json"}

response = requests.put(url, json=payload, headers=headers)

print(response.json())
library(httr)

url <- "{{baseUrl}}/v1/courses/:id"

payload <- "{\n  \"alternateLink\": \"\",\n  \"calendarId\": \"\",\n  \"courseGroupEmail\": \"\",\n  \"courseMaterialSets\": [\n    {\n      \"materials\": [\n        {\n          \"driveFile\": {\n            \"alternateLink\": \"\",\n            \"id\": \"\",\n            \"thumbnailUrl\": \"\",\n            \"title\": \"\"\n          },\n          \"form\": {\n            \"formUrl\": \"\",\n            \"responseUrl\": \"\",\n            \"thumbnailUrl\": \"\",\n            \"title\": \"\"\n          },\n          \"link\": {\n            \"thumbnailUrl\": \"\",\n            \"title\": \"\",\n            \"url\": \"\"\n          },\n          \"youTubeVideo\": {\n            \"alternateLink\": \"\",\n            \"id\": \"\",\n            \"thumbnailUrl\": \"\",\n            \"title\": \"\"\n          }\n        }\n      ],\n      \"title\": \"\"\n    }\n  ],\n  \"courseState\": \"\",\n  \"creationTime\": \"\",\n  \"description\": \"\",\n  \"descriptionHeading\": \"\",\n  \"enrollmentCode\": \"\",\n  \"gradebookSettings\": {\n    \"calculationType\": \"\",\n    \"displaySetting\": \"\",\n    \"gradeCategories\": [\n      {\n        \"defaultGradeDenominator\": 0,\n        \"id\": \"\",\n        \"name\": \"\",\n        \"weight\": 0\n      }\n    ]\n  },\n  \"guardiansEnabled\": false,\n  \"id\": \"\",\n  \"name\": \"\",\n  \"ownerId\": \"\",\n  \"room\": \"\",\n  \"section\": \"\",\n  \"teacherFolder\": {\n    \"alternateLink\": \"\",\n    \"id\": \"\",\n    \"title\": \"\"\n  },\n  \"teacherGroupEmail\": \"\",\n  \"updateTime\": \"\"\n}"

encode <- "json"

response <- VERB("PUT", url, body = payload, content_type("application/json"), encode = encode)

content(response, "text")
require 'uri'
require 'net/http'

url = URI("{{baseUrl}}/v1/courses/:id")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Put.new(url)
request["content-type"] = 'application/json'
request.body = "{\n  \"alternateLink\": \"\",\n  \"calendarId\": \"\",\n  \"courseGroupEmail\": \"\",\n  \"courseMaterialSets\": [\n    {\n      \"materials\": [\n        {\n          \"driveFile\": {\n            \"alternateLink\": \"\",\n            \"id\": \"\",\n            \"thumbnailUrl\": \"\",\n            \"title\": \"\"\n          },\n          \"form\": {\n            \"formUrl\": \"\",\n            \"responseUrl\": \"\",\n            \"thumbnailUrl\": \"\",\n            \"title\": \"\"\n          },\n          \"link\": {\n            \"thumbnailUrl\": \"\",\n            \"title\": \"\",\n            \"url\": \"\"\n          },\n          \"youTubeVideo\": {\n            \"alternateLink\": \"\",\n            \"id\": \"\",\n            \"thumbnailUrl\": \"\",\n            \"title\": \"\"\n          }\n        }\n      ],\n      \"title\": \"\"\n    }\n  ],\n  \"courseState\": \"\",\n  \"creationTime\": \"\",\n  \"description\": \"\",\n  \"descriptionHeading\": \"\",\n  \"enrollmentCode\": \"\",\n  \"gradebookSettings\": {\n    \"calculationType\": \"\",\n    \"displaySetting\": \"\",\n    \"gradeCategories\": [\n      {\n        \"defaultGradeDenominator\": 0,\n        \"id\": \"\",\n        \"name\": \"\",\n        \"weight\": 0\n      }\n    ]\n  },\n  \"guardiansEnabled\": false,\n  \"id\": \"\",\n  \"name\": \"\",\n  \"ownerId\": \"\",\n  \"room\": \"\",\n  \"section\": \"\",\n  \"teacherFolder\": {\n    \"alternateLink\": \"\",\n    \"id\": \"\",\n    \"title\": \"\"\n  },\n  \"teacherGroupEmail\": \"\",\n  \"updateTime\": \"\"\n}"

response = http.request(request)
puts response.read_body
require 'faraday'

conn = Faraday.new(
  url: 'https://example.com',
  headers: {'Content-Type' => 'application/json'}
)

response = conn.put('/baseUrl/v1/courses/:id') do |req|
  req.body = "{\n  \"alternateLink\": \"\",\n  \"calendarId\": \"\",\n  \"courseGroupEmail\": \"\",\n  \"courseMaterialSets\": [\n    {\n      \"materials\": [\n        {\n          \"driveFile\": {\n            \"alternateLink\": \"\",\n            \"id\": \"\",\n            \"thumbnailUrl\": \"\",\n            \"title\": \"\"\n          },\n          \"form\": {\n            \"formUrl\": \"\",\n            \"responseUrl\": \"\",\n            \"thumbnailUrl\": \"\",\n            \"title\": \"\"\n          },\n          \"link\": {\n            \"thumbnailUrl\": \"\",\n            \"title\": \"\",\n            \"url\": \"\"\n          },\n          \"youTubeVideo\": {\n            \"alternateLink\": \"\",\n            \"id\": \"\",\n            \"thumbnailUrl\": \"\",\n            \"title\": \"\"\n          }\n        }\n      ],\n      \"title\": \"\"\n    }\n  ],\n  \"courseState\": \"\",\n  \"creationTime\": \"\",\n  \"description\": \"\",\n  \"descriptionHeading\": \"\",\n  \"enrollmentCode\": \"\",\n  \"gradebookSettings\": {\n    \"calculationType\": \"\",\n    \"displaySetting\": \"\",\n    \"gradeCategories\": [\n      {\n        \"defaultGradeDenominator\": 0,\n        \"id\": \"\",\n        \"name\": \"\",\n        \"weight\": 0\n      }\n    ]\n  },\n  \"guardiansEnabled\": false,\n  \"id\": \"\",\n  \"name\": \"\",\n  \"ownerId\": \"\",\n  \"room\": \"\",\n  \"section\": \"\",\n  \"teacherFolder\": {\n    \"alternateLink\": \"\",\n    \"id\": \"\",\n    \"title\": \"\"\n  },\n  \"teacherGroupEmail\": \"\",\n  \"updateTime\": \"\"\n}"
end

puts response.status
puts response.body
use std::str::FromStr;
use serde_json::json;
use reqwest;

#[tokio::main]
pub async fn main() {
    let url = "{{baseUrl}}/v1/courses/:id";

    let payload = json!({
        "alternateLink": "",
        "calendarId": "",
        "courseGroupEmail": "",
        "courseMaterialSets": (
            json!({
                "materials": (
                    json!({
                        "driveFile": json!({
                            "alternateLink": "",
                            "id": "",
                            "thumbnailUrl": "",
                            "title": ""
                        }),
                        "form": json!({
                            "formUrl": "",
                            "responseUrl": "",
                            "thumbnailUrl": "",
                            "title": ""
                        }),
                        "link": json!({
                            "thumbnailUrl": "",
                            "title": "",
                            "url": ""
                        }),
                        "youTubeVideo": json!({
                            "alternateLink": "",
                            "id": "",
                            "thumbnailUrl": "",
                            "title": ""
                        })
                    })
                ),
                "title": ""
            })
        ),
        "courseState": "",
        "creationTime": "",
        "description": "",
        "descriptionHeading": "",
        "enrollmentCode": "",
        "gradebookSettings": json!({
            "calculationType": "",
            "displaySetting": "",
            "gradeCategories": (
                json!({
                    "defaultGradeDenominator": 0,
                    "id": "",
                    "name": "",
                    "weight": 0
                })
            )
        }),
        "guardiansEnabled": false,
        "id": "",
        "name": "",
        "ownerId": "",
        "room": "",
        "section": "",
        "teacherFolder": json!({
            "alternateLink": "",
            "id": "",
            "title": ""
        }),
        "teacherGroupEmail": "",
        "updateTime": ""
    });

    let mut headers = reqwest::header::HeaderMap::new();
    headers.insert("content-type", "application/json".parse().unwrap());

    let client = reqwest::Client::new();
    let response = client.request(reqwest::Method::from_str("PUT").unwrap(), url)
        .headers(headers)
        .json(&payload)
        .send()
        .await;

    let results = response.unwrap()
        .json::()
        .await
        .unwrap();

    dbg!(results);
}
curl --request PUT \
  --url {{baseUrl}}/v1/courses/:id \
  --header 'content-type: application/json' \
  --data '{
  "alternateLink": "",
  "calendarId": "",
  "courseGroupEmail": "",
  "courseMaterialSets": [
    {
      "materials": [
        {
          "driveFile": {
            "alternateLink": "",
            "id": "",
            "thumbnailUrl": "",
            "title": ""
          },
          "form": {
            "formUrl": "",
            "responseUrl": "",
            "thumbnailUrl": "",
            "title": ""
          },
          "link": {
            "thumbnailUrl": "",
            "title": "",
            "url": ""
          },
          "youTubeVideo": {
            "alternateLink": "",
            "id": "",
            "thumbnailUrl": "",
            "title": ""
          }
        }
      ],
      "title": ""
    }
  ],
  "courseState": "",
  "creationTime": "",
  "description": "",
  "descriptionHeading": "",
  "enrollmentCode": "",
  "gradebookSettings": {
    "calculationType": "",
    "displaySetting": "",
    "gradeCategories": [
      {
        "defaultGradeDenominator": 0,
        "id": "",
        "name": "",
        "weight": 0
      }
    ]
  },
  "guardiansEnabled": false,
  "id": "",
  "name": "",
  "ownerId": "",
  "room": "",
  "section": "",
  "teacherFolder": {
    "alternateLink": "",
    "id": "",
    "title": ""
  },
  "teacherGroupEmail": "",
  "updateTime": ""
}'
echo '{
  "alternateLink": "",
  "calendarId": "",
  "courseGroupEmail": "",
  "courseMaterialSets": [
    {
      "materials": [
        {
          "driveFile": {
            "alternateLink": "",
            "id": "",
            "thumbnailUrl": "",
            "title": ""
          },
          "form": {
            "formUrl": "",
            "responseUrl": "",
            "thumbnailUrl": "",
            "title": ""
          },
          "link": {
            "thumbnailUrl": "",
            "title": "",
            "url": ""
          },
          "youTubeVideo": {
            "alternateLink": "",
            "id": "",
            "thumbnailUrl": "",
            "title": ""
          }
        }
      ],
      "title": ""
    }
  ],
  "courseState": "",
  "creationTime": "",
  "description": "",
  "descriptionHeading": "",
  "enrollmentCode": "",
  "gradebookSettings": {
    "calculationType": "",
    "displaySetting": "",
    "gradeCategories": [
      {
        "defaultGradeDenominator": 0,
        "id": "",
        "name": "",
        "weight": 0
      }
    ]
  },
  "guardiansEnabled": false,
  "id": "",
  "name": "",
  "ownerId": "",
  "room": "",
  "section": "",
  "teacherFolder": {
    "alternateLink": "",
    "id": "",
    "title": ""
  },
  "teacherGroupEmail": "",
  "updateTime": ""
}' |  \
  http PUT {{baseUrl}}/v1/courses/:id \
  content-type:application/json
wget --quiet \
  --method PUT \
  --header 'content-type: application/json' \
  --body-data '{\n  "alternateLink": "",\n  "calendarId": "",\n  "courseGroupEmail": "",\n  "courseMaterialSets": [\n    {\n      "materials": [\n        {\n          "driveFile": {\n            "alternateLink": "",\n            "id": "",\n            "thumbnailUrl": "",\n            "title": ""\n          },\n          "form": {\n            "formUrl": "",\n            "responseUrl": "",\n            "thumbnailUrl": "",\n            "title": ""\n          },\n          "link": {\n            "thumbnailUrl": "",\n            "title": "",\n            "url": ""\n          },\n          "youTubeVideo": {\n            "alternateLink": "",\n            "id": "",\n            "thumbnailUrl": "",\n            "title": ""\n          }\n        }\n      ],\n      "title": ""\n    }\n  ],\n  "courseState": "",\n  "creationTime": "",\n  "description": "",\n  "descriptionHeading": "",\n  "enrollmentCode": "",\n  "gradebookSettings": {\n    "calculationType": "",\n    "displaySetting": "",\n    "gradeCategories": [\n      {\n        "defaultGradeDenominator": 0,\n        "id": "",\n        "name": "",\n        "weight": 0\n      }\n    ]\n  },\n  "guardiansEnabled": false,\n  "id": "",\n  "name": "",\n  "ownerId": "",\n  "room": "",\n  "section": "",\n  "teacherFolder": {\n    "alternateLink": "",\n    "id": "",\n    "title": ""\n  },\n  "teacherGroupEmail": "",\n  "updateTime": ""\n}' \
  --output-document \
  - {{baseUrl}}/v1/courses/:id
import Foundation

let headers = ["content-type": "application/json"]
let parameters = [
  "alternateLink": "",
  "calendarId": "",
  "courseGroupEmail": "",
  "courseMaterialSets": [
    [
      "materials": [
        [
          "driveFile": [
            "alternateLink": "",
            "id": "",
            "thumbnailUrl": "",
            "title": ""
          ],
          "form": [
            "formUrl": "",
            "responseUrl": "",
            "thumbnailUrl": "",
            "title": ""
          ],
          "link": [
            "thumbnailUrl": "",
            "title": "",
            "url": ""
          ],
          "youTubeVideo": [
            "alternateLink": "",
            "id": "",
            "thumbnailUrl": "",
            "title": ""
          ]
        ]
      ],
      "title": ""
    ]
  ],
  "courseState": "",
  "creationTime": "",
  "description": "",
  "descriptionHeading": "",
  "enrollmentCode": "",
  "gradebookSettings": [
    "calculationType": "",
    "displaySetting": "",
    "gradeCategories": [
      [
        "defaultGradeDenominator": 0,
        "id": "",
        "name": "",
        "weight": 0
      ]
    ]
  ],
  "guardiansEnabled": false,
  "id": "",
  "name": "",
  "ownerId": "",
  "room": "",
  "section": "",
  "teacherFolder": [
    "alternateLink": "",
    "id": "",
    "title": ""
  ],
  "teacherGroupEmail": "",
  "updateTime": ""
] as [String : Any]

let postData = JSONSerialization.data(withJSONObject: parameters, options: [])

let request = NSMutableURLRequest(url: NSURL(string: "{{baseUrl}}/v1/courses/:id")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "PUT"
request.allHTTPHeaderFields = headers
request.httpBody = postData as Data

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error as Any)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
POST classroom.invitations.accept
{{baseUrl}}/v1/invitations/:id:accept
QUERY PARAMS

id
Examples
REQUEST

CURL *hnd = curl_easy_init();

curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "POST");
curl_easy_setopt(hnd, CURLOPT_URL, "{{baseUrl}}/v1/invitations/:id:accept");

CURLcode ret = curl_easy_perform(hnd);
(require '[clj-http.client :as client])

(client/post "{{baseUrl}}/v1/invitations/:id:accept")
require "http/client"

url = "{{baseUrl}}/v1/invitations/:id:accept"

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}}/v1/invitations/:id:accept"),
};
using (var response = await client.SendAsync(request))
{
    response.EnsureSuccessStatusCode();
    var body = await response.Content.ReadAsStringAsync();
    Console.WriteLine(body);
}
var client = new RestClient("{{baseUrl}}/v1/invitations/:id:accept");
var request = new RestRequest("", Method.Post);
var response = client.Execute(request);
package main

import (
	"fmt"
	"net/http"
	"io"
)

func main() {

	url := "{{baseUrl}}/v1/invitations/:id:accept"

	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/v1/invitations/:id:accept HTTP/1.1
Host: example.com

AsyncHttpClient client = new DefaultAsyncHttpClient();
client.prepare("POST", "{{baseUrl}}/v1/invitations/:id:accept")
  .execute()
  .toCompletableFuture()
  .thenAccept(System.out::println)
  .join();

client.close();
HttpRequest request = HttpRequest.newBuilder()
    .uri(URI.create("{{baseUrl}}/v1/invitations/:id:accept"))
    .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}}/v1/invitations/:id:accept")
  .post(null)
  .build();

Response response = client.newCall(request).execute();
HttpResponse response = Unirest.post("{{baseUrl}}/v1/invitations/:id:accept")
  .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}}/v1/invitations/:id:accept');

xhr.send(data);
import axios from 'axios';

const options = {method: 'POST', url: '{{baseUrl}}/v1/invitations/:id:accept'};

try {
  const { data } = await axios.request(options);
  console.log(data);
} catch (error) {
  console.error(error);
}
const url = '{{baseUrl}}/v1/invitations/:id:accept';
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}}/v1/invitations/:id:accept',
  method: 'POST',
  headers: {}
};

$.ajax(settings).done(function (response) {
  console.log(response);
});
val client = OkHttpClient()

val request = Request.Builder()
  .url("{{baseUrl}}/v1/invitations/:id:accept")
  .post(null)
  .build()

val response = client.newCall(request).execute()
const http = require('https');

const options = {
  method: 'POST',
  hostname: 'example.com',
  port: null,
  path: '/baseUrl/v1/invitations/:id:accept',
  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}}/v1/invitations/:id:accept'};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
const unirest = require('unirest');

const req = unirest('POST', '{{baseUrl}}/v1/invitations/:id:accept');

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}}/v1/invitations/:id:accept'};

try {
  const { data } = await axios.request(options);
  console.log(data);
} catch (error) {
  console.error(error);
}
const fetch = require('node-fetch');

const url = '{{baseUrl}}/v1/invitations/:id:accept';
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}}/v1/invitations/:id:accept"]
                                                       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}}/v1/invitations/:id:accept" in

Client.call `POST uri
>>= fun (res, body_stream) ->
  (* Do stuff with the result *)
 "{{baseUrl}}/v1/invitations/:id:accept",
  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}}/v1/invitations/:id:accept');

echo $response->getBody();
setUrl('{{baseUrl}}/v1/invitations/:id:accept');
$request->setMethod(HTTP_METH_POST);

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
setRequestUrl('{{baseUrl}}/v1/invitations/:id:accept');
$request->setRequestMethod('POST');
$client->enqueue($request)->send();
$response = $client->getResponse();

echo $response->getBody();
$response = Invoke-WebRequest -Uri '{{baseUrl}}/v1/invitations/:id:accept' -Method POST 
$response = Invoke-RestMethod -Uri '{{baseUrl}}/v1/invitations/:id:accept' -Method POST 
import http.client

conn = http.client.HTTPSConnection("example.com")

conn.request("POST", "/baseUrl/v1/invitations/:id:accept")

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))
import requests

url = "{{baseUrl}}/v1/invitations/:id:accept"

response = requests.post(url)

print(response.json())
library(httr)

url <- "{{baseUrl}}/v1/invitations/:id:accept"

response <- VERB("POST", url, content_type("application/octet-stream"))

content(response, "text")
require 'uri'
require 'net/http'

url = URI("{{baseUrl}}/v1/invitations/:id:accept")

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/v1/invitations/:id:accept') do |req|
end

puts response.status
puts response.body
use reqwest;

#[tokio::main]
pub async fn main() {
    let url = "{{baseUrl}}/v1/invitations/:id:accept";

    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}}/v1/invitations/:id:accept
http POST {{baseUrl}}/v1/invitations/:id:accept
wget --quiet \
  --method POST \
  --output-document \
  - {{baseUrl}}/v1/invitations/:id:accept
import Foundation

let request = NSMutableURLRequest(url: NSURL(string: "{{baseUrl}}/v1/invitations/:id:accept")! 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()
POST classroom.invitations.create
{{baseUrl}}/v1/invitations
BODY json

{
  "courseId": "",
  "id": "",
  "role": "",
  "userId": ""
}
Examples
REQUEST

CURL *hnd = curl_easy_init();

curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "POST");
curl_easy_setopt(hnd, CURLOPT_URL, "{{baseUrl}}/v1/invitations");

struct curl_slist *headers = NULL;
headers = curl_slist_append(headers, "content-type: application/json");
curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers);

curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\n  \"courseId\": \"\",\n  \"id\": \"\",\n  \"role\": \"\",\n  \"userId\": \"\"\n}");

CURLcode ret = curl_easy_perform(hnd);
(require '[clj-http.client :as client])

(client/post "{{baseUrl}}/v1/invitations" {:content-type :json
                                                           :form-params {:courseId ""
                                                                         :id ""
                                                                         :role ""
                                                                         :userId ""}})
require "http/client"

url = "{{baseUrl}}/v1/invitations"
headers = HTTP::Headers{
  "content-type" => "application/json"
}
reqBody = "{\n  \"courseId\": \"\",\n  \"id\": \"\",\n  \"role\": \"\",\n  \"userId\": \"\"\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}}/v1/invitations"),
    Content = new StringContent("{\n  \"courseId\": \"\",\n  \"id\": \"\",\n  \"role\": \"\",\n  \"userId\": \"\"\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}}/v1/invitations");
var request = new RestRequest("", Method.Post);
request.AddHeader("content-type", "application/json");
request.AddParameter("application/json", "{\n  \"courseId\": \"\",\n  \"id\": \"\",\n  \"role\": \"\",\n  \"userId\": \"\"\n}", ParameterType.RequestBody);
var response = client.Execute(request);
package main

import (
	"fmt"
	"strings"
	"net/http"
	"io"
)

func main() {

	url := "{{baseUrl}}/v1/invitations"

	payload := strings.NewReader("{\n  \"courseId\": \"\",\n  \"id\": \"\",\n  \"role\": \"\",\n  \"userId\": \"\"\n}")

	req, _ := http.NewRequest("POST", url, payload)

	req.Header.Add("content-type", "application/json")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
POST /baseUrl/v1/invitations HTTP/1.1
Content-Type: application/json
Host: example.com
Content-Length: 62

{
  "courseId": "",
  "id": "",
  "role": "",
  "userId": ""
}
AsyncHttpClient client = new DefaultAsyncHttpClient();
client.prepare("POST", "{{baseUrl}}/v1/invitations")
  .setHeader("content-type", "application/json")
  .setBody("{\n  \"courseId\": \"\",\n  \"id\": \"\",\n  \"role\": \"\",\n  \"userId\": \"\"\n}")
  .execute()
  .toCompletableFuture()
  .thenAccept(System.out::println)
  .join();

client.close();
HttpRequest request = HttpRequest.newBuilder()
    .uri(URI.create("{{baseUrl}}/v1/invitations"))
    .header("content-type", "application/json")
    .method("POST", HttpRequest.BodyPublishers.ofString("{\n  \"courseId\": \"\",\n  \"id\": \"\",\n  \"role\": \"\",\n  \"userId\": \"\"\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  \"courseId\": \"\",\n  \"id\": \"\",\n  \"role\": \"\",\n  \"userId\": \"\"\n}");
Request request = new Request.Builder()
  .url("{{baseUrl}}/v1/invitations")
  .post(body)
  .addHeader("content-type", "application/json")
  .build();

Response response = client.newCall(request).execute();
HttpResponse response = Unirest.post("{{baseUrl}}/v1/invitations")
  .header("content-type", "application/json")
  .body("{\n  \"courseId\": \"\",\n  \"id\": \"\",\n  \"role\": \"\",\n  \"userId\": \"\"\n}")
  .asString();
const data = JSON.stringify({
  courseId: '',
  id: '',
  role: '',
  userId: ''
});

const xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener('readystatechange', function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open('POST', '{{baseUrl}}/v1/invitations');
xhr.setRequestHeader('content-type', 'application/json');

xhr.send(data);
import axios from 'axios';

const options = {
  method: 'POST',
  url: '{{baseUrl}}/v1/invitations',
  headers: {'content-type': 'application/json'},
  data: {courseId: '', id: '', role: '', userId: ''}
};

try {
  const { data } = await axios.request(options);
  console.log(data);
} catch (error) {
  console.error(error);
}
const url = '{{baseUrl}}/v1/invitations';
const options = {
  method: 'POST',
  headers: {'content-type': 'application/json'},
  body: '{"courseId":"","id":"","role":"","userId":""}'
};

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}}/v1/invitations',
  method: 'POST',
  headers: {
    'content-type': 'application/json'
  },
  processData: false,
  data: '{\n  "courseId": "",\n  "id": "",\n  "role": "",\n  "userId": ""\n}'
};

$.ajax(settings).done(function (response) {
  console.log(response);
});
val client = OkHttpClient()

val mediaType = MediaType.parse("application/json")
val body = RequestBody.create(mediaType, "{\n  \"courseId\": \"\",\n  \"id\": \"\",\n  \"role\": \"\",\n  \"userId\": \"\"\n}")
val request = Request.Builder()
  .url("{{baseUrl}}/v1/invitations")
  .post(body)
  .addHeader("content-type", "application/json")
  .build()

val response = client.newCall(request).execute()
const http = require('https');

const options = {
  method: 'POST',
  hostname: 'example.com',
  port: null,
  path: '/baseUrl/v1/invitations',
  headers: {
    'content-type': 'application/json'
  }
};

const req = http.request(options, function (res) {
  const chunks = [];

  res.on('data', function (chunk) {
    chunks.push(chunk);
  });

  res.on('end', function () {
    const body = Buffer.concat(chunks);
    console.log(body.toString());
  });
});

req.write(JSON.stringify({courseId: '', id: '', role: '', userId: ''}));
req.end();
const request = require('request');

const options = {
  method: 'POST',
  url: '{{baseUrl}}/v1/invitations',
  headers: {'content-type': 'application/json'},
  body: {courseId: '', id: '', role: '', userId: ''},
  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}}/v1/invitations');

req.headers({
  'content-type': 'application/json'
});

req.type('json');
req.send({
  courseId: '',
  id: '',
  role: '',
  userId: ''
});

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}}/v1/invitations',
  headers: {'content-type': 'application/json'},
  data: {courseId: '', id: '', role: '', userId: ''}
};

try {
  const { data } = await axios.request(options);
  console.log(data);
} catch (error) {
  console.error(error);
}
const fetch = require('node-fetch');

const url = '{{baseUrl}}/v1/invitations';
const options = {
  method: 'POST',
  headers: {'content-type': 'application/json'},
  body: '{"courseId":"","id":"","role":"","userId":""}'
};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
#import 

NSDictionary *headers = @{ @"content-type": @"application/json" };
NSDictionary *parameters = @{ @"courseId": @"",
                              @"id": @"",
                              @"role": @"",
                              @"userId": @"" };

NSData *postData = [NSJSONSerialization dataWithJSONObject:parameters options:0 error:nil];

NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"{{baseUrl}}/v1/invitations"]
                                                       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}}/v1/invitations" in
let headers = Header.add (Header.init ()) "content-type" "application/json" in
let body = Cohttp_lwt_body.of_string "{\n  \"courseId\": \"\",\n  \"id\": \"\",\n  \"role\": \"\",\n  \"userId\": \"\"\n}" in

Client.call ~headers ~body `POST uri
>>= fun (res, body_stream) ->
  (* Do stuff with the result *)
 "{{baseUrl}}/v1/invitations",
  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([
    'courseId' => '',
    'id' => '',
    'role' => '',
    'userId' => ''
  ]),
  CURLOPT_HTTPHEADER => [
    "content-type: application/json"
  ],
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
request('POST', '{{baseUrl}}/v1/invitations', [
  'body' => '{
  "courseId": "",
  "id": "",
  "role": "",
  "userId": ""
}',
  'headers' => [
    'content-type' => 'application/json',
  ],
]);

echo $response->getBody();
setUrl('{{baseUrl}}/v1/invitations');
$request->setMethod(HTTP_METH_POST);

$request->setHeaders([
  'content-type' => 'application/json'
]);

$request->setContentType('application/json');
$request->setBody(json_encode([
  'courseId' => '',
  'id' => '',
  'role' => '',
  'userId' => ''
]));

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
append(json_encode([
  'courseId' => '',
  'id' => '',
  'role' => '',
  'userId' => ''
]));
$request->setRequestUrl('{{baseUrl}}/v1/invitations');
$request->setRequestMethod('POST');
$request->setBody($body);

$request->setHeaders([
  'content-type' => 'application/json'
]);

$client->enqueue($request)->send();
$response = $client->getResponse();

echo $response->getBody();
$headers=@{}
$headers.Add("content-type", "application/json")
$response = Invoke-WebRequest -Uri '{{baseUrl}}/v1/invitations' -Method POST -Headers $headers -ContentType 'application/json' -Body '{
  "courseId": "",
  "id": "",
  "role": "",
  "userId": ""
}'
$headers=@{}
$headers.Add("content-type", "application/json")
$response = Invoke-RestMethod -Uri '{{baseUrl}}/v1/invitations' -Method POST -Headers $headers -ContentType 'application/json' -Body '{
  "courseId": "",
  "id": "",
  "role": "",
  "userId": ""
}'
import http.client

conn = http.client.HTTPSConnection("example.com")

payload = "{\n  \"courseId\": \"\",\n  \"id\": \"\",\n  \"role\": \"\",\n  \"userId\": \"\"\n}"

headers = { 'content-type': "application/json" }

conn.request("POST", "/baseUrl/v1/invitations", payload, headers)

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))
import requests

url = "{{baseUrl}}/v1/invitations"

payload = {
    "courseId": "",
    "id": "",
    "role": "",
    "userId": ""
}
headers = {"content-type": "application/json"}

response = requests.post(url, json=payload, headers=headers)

print(response.json())
library(httr)

url <- "{{baseUrl}}/v1/invitations"

payload <- "{\n  \"courseId\": \"\",\n  \"id\": \"\",\n  \"role\": \"\",\n  \"userId\": \"\"\n}"

encode <- "json"

response <- VERB("POST", url, body = payload, content_type("application/json"), encode = encode)

content(response, "text")
require 'uri'
require 'net/http'

url = URI("{{baseUrl}}/v1/invitations")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["content-type"] = 'application/json'
request.body = "{\n  \"courseId\": \"\",\n  \"id\": \"\",\n  \"role\": \"\",\n  \"userId\": \"\"\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/v1/invitations') do |req|
  req.body = "{\n  \"courseId\": \"\",\n  \"id\": \"\",\n  \"role\": \"\",\n  \"userId\": \"\"\n}"
end

puts response.status
puts response.body
use serde_json::json;
use reqwest;

#[tokio::main]
pub async fn main() {
    let url = "{{baseUrl}}/v1/invitations";

    let payload = json!({
        "courseId": "",
        "id": "",
        "role": "",
        "userId": ""
    });

    let mut headers = reqwest::header::HeaderMap::new();
    headers.insert("content-type", "application/json".parse().unwrap());

    let client = reqwest::Client::new();
    let response = client.post(url)
        .headers(headers)
        .json(&payload)
        .send()
        .await;

    let results = response.unwrap()
        .json::()
        .await
        .unwrap();

    dbg!(results);
}
curl --request POST \
  --url {{baseUrl}}/v1/invitations \
  --header 'content-type: application/json' \
  --data '{
  "courseId": "",
  "id": "",
  "role": "",
  "userId": ""
}'
echo '{
  "courseId": "",
  "id": "",
  "role": "",
  "userId": ""
}' |  \
  http POST {{baseUrl}}/v1/invitations \
  content-type:application/json
wget --quiet \
  --method POST \
  --header 'content-type: application/json' \
  --body-data '{\n  "courseId": "",\n  "id": "",\n  "role": "",\n  "userId": ""\n}' \
  --output-document \
  - {{baseUrl}}/v1/invitations
import Foundation

let headers = ["content-type": "application/json"]
let parameters = [
  "courseId": "",
  "id": "",
  "role": "",
  "userId": ""
] as [String : Any]

let postData = JSONSerialization.data(withJSONObject: parameters, options: [])

let request = NSMutableURLRequest(url: NSURL(string: "{{baseUrl}}/v1/invitations")! 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()
DELETE classroom.invitations.delete
{{baseUrl}}/v1/invitations/:id
QUERY PARAMS

id
Examples
REQUEST

CURL *hnd = curl_easy_init();

curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "DELETE");
curl_easy_setopt(hnd, CURLOPT_URL, "{{baseUrl}}/v1/invitations/:id");

CURLcode ret = curl_easy_perform(hnd);
(require '[clj-http.client :as client])

(client/delete "{{baseUrl}}/v1/invitations/:id")
require "http/client"

url = "{{baseUrl}}/v1/invitations/:id"

response = HTTP::Client.delete url
puts response.body
using System.Net.Http.Headers;
var client = new HttpClient();
var request = new HttpRequestMessage
{
    Method = HttpMethod.Delete,
    RequestUri = new Uri("{{baseUrl}}/v1/invitations/:id"),
};
using (var response = await client.SendAsync(request))
{
    response.EnsureSuccessStatusCode();
    var body = await response.Content.ReadAsStringAsync();
    Console.WriteLine(body);
}
var client = new RestClient("{{baseUrl}}/v1/invitations/:id");
var request = new RestRequest("", Method.Delete);
var response = client.Execute(request);
package main

import (
	"fmt"
	"net/http"
	"io"
)

func main() {

	url := "{{baseUrl}}/v1/invitations/:id"

	req, _ := http.NewRequest("DELETE", url, nil)

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
DELETE /baseUrl/v1/invitations/:id HTTP/1.1
Host: example.com

AsyncHttpClient client = new DefaultAsyncHttpClient();
client.prepare("DELETE", "{{baseUrl}}/v1/invitations/:id")
  .execute()
  .toCompletableFuture()
  .thenAccept(System.out::println)
  .join();

client.close();
HttpRequest request = HttpRequest.newBuilder()
    .uri(URI.create("{{baseUrl}}/v1/invitations/:id"))
    .method("DELETE", 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}}/v1/invitations/:id")
  .delete(null)
  .build();

Response response = client.newCall(request).execute();
HttpResponse response = Unirest.delete("{{baseUrl}}/v1/invitations/:id")
  .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('DELETE', '{{baseUrl}}/v1/invitations/:id');

xhr.send(data);
import axios from 'axios';

const options = {method: 'DELETE', url: '{{baseUrl}}/v1/invitations/:id'};

try {
  const { data } = await axios.request(options);
  console.log(data);
} catch (error) {
  console.error(error);
}
const url = '{{baseUrl}}/v1/invitations/:id';
const options = {method: 'DELETE'};

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}}/v1/invitations/:id',
  method: 'DELETE',
  headers: {}
};

$.ajax(settings).done(function (response) {
  console.log(response);
});
val client = OkHttpClient()

val request = Request.Builder()
  .url("{{baseUrl}}/v1/invitations/:id")
  .delete(null)
  .build()

val response = client.newCall(request).execute()
const http = require('https');

const options = {
  method: 'DELETE',
  hostname: 'example.com',
  port: null,
  path: '/baseUrl/v1/invitations/:id',
  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: 'DELETE', url: '{{baseUrl}}/v1/invitations/:id'};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
const unirest = require('unirest');

const req = unirest('DELETE', '{{baseUrl}}/v1/invitations/:id');

req.end(function (res) {
  if (res.error) throw new Error(res.error);

  console.log(res.body);
});
const axios = require('axios').default;

const options = {method: 'DELETE', url: '{{baseUrl}}/v1/invitations/:id'};

try {
  const { data } = await axios.request(options);
  console.log(data);
} catch (error) {
  console.error(error);
}
const fetch = require('node-fetch');

const url = '{{baseUrl}}/v1/invitations/:id';
const options = {method: 'DELETE'};

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}}/v1/invitations/:id"]
                                                       cachePolicy:NSURLRequestUseProtocolCachePolicy
                                                   timeoutInterval:10.0];
[request setHTTPMethod:@"DELETE"];

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}}/v1/invitations/:id" in

Client.call `DELETE uri
>>= fun (res, body_stream) ->
  (* Do stuff with the result *)
 "{{baseUrl}}/v1/invitations/:id",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "DELETE",
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
request('DELETE', '{{baseUrl}}/v1/invitations/:id');

echo $response->getBody();
setUrl('{{baseUrl}}/v1/invitations/:id');
$request->setMethod(HTTP_METH_DELETE);

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
setRequestUrl('{{baseUrl}}/v1/invitations/:id');
$request->setRequestMethod('DELETE');
$client->enqueue($request)->send();
$response = $client->getResponse();

echo $response->getBody();
$response = Invoke-WebRequest -Uri '{{baseUrl}}/v1/invitations/:id' -Method DELETE 
$response = Invoke-RestMethod -Uri '{{baseUrl}}/v1/invitations/:id' -Method DELETE 
import http.client

conn = http.client.HTTPSConnection("example.com")

conn.request("DELETE", "/baseUrl/v1/invitations/:id")

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))
import requests

url = "{{baseUrl}}/v1/invitations/:id"

response = requests.delete(url)

print(response.json())
library(httr)

url <- "{{baseUrl}}/v1/invitations/:id"

response <- VERB("DELETE", url, content_type("application/octet-stream"))

content(response, "text")
require 'uri'
require 'net/http'

url = URI("{{baseUrl}}/v1/invitations/:id")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Delete.new(url)

response = http.request(request)
puts response.read_body
require 'faraday'

conn = Faraday.new(
  url: 'https://example.com',
)

response = conn.delete('/baseUrl/v1/invitations/:id') do |req|
end

puts response.status
puts response.body
use std::str::FromStr;
use reqwest;

#[tokio::main]
pub async fn main() {
    let url = "{{baseUrl}}/v1/invitations/:id";

    let client = reqwest::Client::new();
    let response = client.request(reqwest::Method::from_str("DELETE").unwrap(), url)
        .send()
        .await;

    let results = response.unwrap()
        .json::()
        .await
        .unwrap();

    dbg!(results);
}
curl --request DELETE \
  --url {{baseUrl}}/v1/invitations/:id
http DELETE {{baseUrl}}/v1/invitations/:id
wget --quiet \
  --method DELETE \
  --output-document \
  - {{baseUrl}}/v1/invitations/:id
import Foundation

let request = NSMutableURLRequest(url: NSURL(string: "{{baseUrl}}/v1/invitations/:id")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "DELETE"

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 classroom.invitations.get
{{baseUrl}}/v1/invitations/:id
QUERY PARAMS

id
Examples
REQUEST

CURL *hnd = curl_easy_init();

curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET");
curl_easy_setopt(hnd, CURLOPT_URL, "{{baseUrl}}/v1/invitations/:id");

CURLcode ret = curl_easy_perform(hnd);
(require '[clj-http.client :as client])

(client/get "{{baseUrl}}/v1/invitations/:id")
require "http/client"

url = "{{baseUrl}}/v1/invitations/:id"

response = HTTP::Client.get url
puts response.body
using System.Net.Http.Headers;
var client = new HttpClient();
var request = new HttpRequestMessage
{
    Method = HttpMethod.Get,
    RequestUri = new Uri("{{baseUrl}}/v1/invitations/:id"),
};
using (var response = await client.SendAsync(request))
{
    response.EnsureSuccessStatusCode();
    var body = await response.Content.ReadAsStringAsync();
    Console.WriteLine(body);
}
var client = new RestClient("{{baseUrl}}/v1/invitations/:id");
var request = new RestRequest("", Method.Get);
var response = client.Execute(request);
package main

import (
	"fmt"
	"net/http"
	"io"
)

func main() {

	url := "{{baseUrl}}/v1/invitations/:id"

	req, _ := http.NewRequest("GET", url, nil)

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
GET /baseUrl/v1/invitations/:id HTTP/1.1
Host: example.com

AsyncHttpClient client = new DefaultAsyncHttpClient();
client.prepare("GET", "{{baseUrl}}/v1/invitations/:id")
  .execute()
  .toCompletableFuture()
  .thenAccept(System.out::println)
  .join();

client.close();
HttpRequest request = HttpRequest.newBuilder()
    .uri(URI.create("{{baseUrl}}/v1/invitations/:id"))
    .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}}/v1/invitations/:id")
  .get()
  .build();

Response response = client.newCall(request).execute();
HttpResponse response = Unirest.get("{{baseUrl}}/v1/invitations/:id")
  .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}}/v1/invitations/:id');

xhr.send(data);
import axios from 'axios';

const options = {method: 'GET', url: '{{baseUrl}}/v1/invitations/:id'};

try {
  const { data } = await axios.request(options);
  console.log(data);
} catch (error) {
  console.error(error);
}
const url = '{{baseUrl}}/v1/invitations/:id';
const options = {method: 'GET'};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
const settings = {
  async: true,
  crossDomain: true,
  url: '{{baseUrl}}/v1/invitations/:id',
  method: 'GET',
  headers: {}
};

$.ajax(settings).done(function (response) {
  console.log(response);
});
val client = OkHttpClient()

val request = Request.Builder()
  .url("{{baseUrl}}/v1/invitations/:id")
  .get()
  .build()

val response = client.newCall(request).execute()
const http = require('https');

const options = {
  method: 'GET',
  hostname: 'example.com',
  port: null,
  path: '/baseUrl/v1/invitations/:id',
  headers: {}
};

const req = http.request(options, function (res) {
  const chunks = [];

  res.on('data', function (chunk) {
    chunks.push(chunk);
  });

  res.on('end', function () {
    const body = Buffer.concat(chunks);
    console.log(body.toString());
  });
});

req.end();
const request = require('request');

const options = {method: 'GET', url: '{{baseUrl}}/v1/invitations/:id'};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
const unirest = require('unirest');

const req = unirest('GET', '{{baseUrl}}/v1/invitations/:id');

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}}/v1/invitations/:id'};

try {
  const { data } = await axios.request(options);
  console.log(data);
} catch (error) {
  console.error(error);
}
const fetch = require('node-fetch');

const url = '{{baseUrl}}/v1/invitations/:id';
const options = {method: 'GET'};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
#import 

NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"{{baseUrl}}/v1/invitations/:id"]
                                                       cachePolicy:NSURLRequestUseProtocolCachePolicy
                                                   timeoutInterval:10.0];
[request setHTTPMethod:@"GET"];

NSURLSession *session = [NSURLSession sharedSession];
NSURLSessionDataTask *dataTask = [session dataTaskWithRequest:request
                                            completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
                                                if (error) {
                                                    NSLog(@"%@", error);
                                                } else {
                                                    NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse *) response;
                                                    NSLog(@"%@", httpResponse);
                                                }
                                            }];
[dataTask resume];
open Cohttp_lwt_unix
open Cohttp
open Lwt

let uri = Uri.of_string "{{baseUrl}}/v1/invitations/:id" in

Client.call `GET uri
>>= fun (res, body_stream) ->
  (* Do stuff with the result *)
 "{{baseUrl}}/v1/invitations/:id",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "GET",
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
request('GET', '{{baseUrl}}/v1/invitations/:id');

echo $response->getBody();
setUrl('{{baseUrl}}/v1/invitations/:id');
$request->setMethod(HTTP_METH_GET);

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
setRequestUrl('{{baseUrl}}/v1/invitations/:id');
$request->setRequestMethod('GET');
$client->enqueue($request)->send();
$response = $client->getResponse();

echo $response->getBody();
$response = Invoke-WebRequest -Uri '{{baseUrl}}/v1/invitations/:id' -Method GET 
$response = Invoke-RestMethod -Uri '{{baseUrl}}/v1/invitations/:id' -Method GET 
import http.client

conn = http.client.HTTPSConnection("example.com")

conn.request("GET", "/baseUrl/v1/invitations/:id")

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))
import requests

url = "{{baseUrl}}/v1/invitations/:id"

response = requests.get(url)

print(response.json())
library(httr)

url <- "{{baseUrl}}/v1/invitations/:id"

response <- VERB("GET", url, content_type("application/octet-stream"))

content(response, "text")
require 'uri'
require 'net/http'

url = URI("{{baseUrl}}/v1/invitations/:id")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
require 'faraday'

conn = Faraday.new(
  url: 'https://example.com',
)

response = conn.get('/baseUrl/v1/invitations/:id') do |req|
end

puts response.status
puts response.body
use reqwest;

#[tokio::main]
pub async fn main() {
    let url = "{{baseUrl}}/v1/invitations/:id";

    let client = reqwest::Client::new();
    let response = client.get(url)
        .send()
        .await;

    let results = response.unwrap()
        .json::()
        .await
        .unwrap();

    dbg!(results);
}
curl --request GET \
  --url {{baseUrl}}/v1/invitations/:id
http GET {{baseUrl}}/v1/invitations/:id
wget --quiet \
  --method GET \
  --output-document \
  - {{baseUrl}}/v1/invitations/:id
import Foundation

let request = NSMutableURLRequest(url: NSURL(string: "{{baseUrl}}/v1/invitations/:id")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error as Any)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
GET classroom.invitations.list
{{baseUrl}}/v1/invitations
Examples
REQUEST

CURL *hnd = curl_easy_init();

curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET");
curl_easy_setopt(hnd, CURLOPT_URL, "{{baseUrl}}/v1/invitations");

CURLcode ret = curl_easy_perform(hnd);
(require '[clj-http.client :as client])

(client/get "{{baseUrl}}/v1/invitations")
require "http/client"

url = "{{baseUrl}}/v1/invitations"

response = HTTP::Client.get url
puts response.body
using System.Net.Http.Headers;
var client = new HttpClient();
var request = new HttpRequestMessage
{
    Method = HttpMethod.Get,
    RequestUri = new Uri("{{baseUrl}}/v1/invitations"),
};
using (var response = await client.SendAsync(request))
{
    response.EnsureSuccessStatusCode();
    var body = await response.Content.ReadAsStringAsync();
    Console.WriteLine(body);
}
var client = new RestClient("{{baseUrl}}/v1/invitations");
var request = new RestRequest("", Method.Get);
var response = client.Execute(request);
package main

import (
	"fmt"
	"net/http"
	"io"
)

func main() {

	url := "{{baseUrl}}/v1/invitations"

	req, _ := http.NewRequest("GET", url, nil)

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
GET /baseUrl/v1/invitations HTTP/1.1
Host: example.com

AsyncHttpClient client = new DefaultAsyncHttpClient();
client.prepare("GET", "{{baseUrl}}/v1/invitations")
  .execute()
  .toCompletableFuture()
  .thenAccept(System.out::println)
  .join();

client.close();
HttpRequest request = HttpRequest.newBuilder()
    .uri(URI.create("{{baseUrl}}/v1/invitations"))
    .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}}/v1/invitations")
  .get()
  .build();

Response response = client.newCall(request).execute();
HttpResponse response = Unirest.get("{{baseUrl}}/v1/invitations")
  .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}}/v1/invitations');

xhr.send(data);
import axios from 'axios';

const options = {method: 'GET', url: '{{baseUrl}}/v1/invitations'};

try {
  const { data } = await axios.request(options);
  console.log(data);
} catch (error) {
  console.error(error);
}
const url = '{{baseUrl}}/v1/invitations';
const options = {method: 'GET'};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
const settings = {
  async: true,
  crossDomain: true,
  url: '{{baseUrl}}/v1/invitations',
  method: 'GET',
  headers: {}
};

$.ajax(settings).done(function (response) {
  console.log(response);
});
val client = OkHttpClient()

val request = Request.Builder()
  .url("{{baseUrl}}/v1/invitations")
  .get()
  .build()

val response = client.newCall(request).execute()
const http = require('https');

const options = {
  method: 'GET',
  hostname: 'example.com',
  port: null,
  path: '/baseUrl/v1/invitations',
  headers: {}
};

const req = http.request(options, function (res) {
  const chunks = [];

  res.on('data', function (chunk) {
    chunks.push(chunk);
  });

  res.on('end', function () {
    const body = Buffer.concat(chunks);
    console.log(body.toString());
  });
});

req.end();
const request = require('request');

const options = {method: 'GET', url: '{{baseUrl}}/v1/invitations'};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
const unirest = require('unirest');

const req = unirest('GET', '{{baseUrl}}/v1/invitations');

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}}/v1/invitations'};

try {
  const { data } = await axios.request(options);
  console.log(data);
} catch (error) {
  console.error(error);
}
const fetch = require('node-fetch');

const url = '{{baseUrl}}/v1/invitations';
const options = {method: 'GET'};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
#import 

NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"{{baseUrl}}/v1/invitations"]
                                                       cachePolicy:NSURLRequestUseProtocolCachePolicy
                                                   timeoutInterval:10.0];
[request setHTTPMethod:@"GET"];

NSURLSession *session = [NSURLSession sharedSession];
NSURLSessionDataTask *dataTask = [session dataTaskWithRequest:request
                                            completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
                                                if (error) {
                                                    NSLog(@"%@", error);
                                                } else {
                                                    NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse *) response;
                                                    NSLog(@"%@", httpResponse);
                                                }
                                            }];
[dataTask resume];
open Cohttp_lwt_unix
open Cohttp
open Lwt

let uri = Uri.of_string "{{baseUrl}}/v1/invitations" in

Client.call `GET uri
>>= fun (res, body_stream) ->
  (* Do stuff with the result *)
 "{{baseUrl}}/v1/invitations",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "GET",
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
request('GET', '{{baseUrl}}/v1/invitations');

echo $response->getBody();
setUrl('{{baseUrl}}/v1/invitations');
$request->setMethod(HTTP_METH_GET);

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
setRequestUrl('{{baseUrl}}/v1/invitations');
$request->setRequestMethod('GET');
$client->enqueue($request)->send();
$response = $client->getResponse();

echo $response->getBody();
$response = Invoke-WebRequest -Uri '{{baseUrl}}/v1/invitations' -Method GET 
$response = Invoke-RestMethod -Uri '{{baseUrl}}/v1/invitations' -Method GET 
import http.client

conn = http.client.HTTPSConnection("example.com")

conn.request("GET", "/baseUrl/v1/invitations")

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))
import requests

url = "{{baseUrl}}/v1/invitations"

response = requests.get(url)

print(response.json())
library(httr)

url <- "{{baseUrl}}/v1/invitations"

response <- VERB("GET", url, content_type("application/octet-stream"))

content(response, "text")
require 'uri'
require 'net/http'

url = URI("{{baseUrl}}/v1/invitations")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
require 'faraday'

conn = Faraday.new(
  url: 'https://example.com',
)

response = conn.get('/baseUrl/v1/invitations') do |req|
end

puts response.status
puts response.body
use reqwest;

#[tokio::main]
pub async fn main() {
    let url = "{{baseUrl}}/v1/invitations";

    let client = reqwest::Client::new();
    let response = client.get(url)
        .send()
        .await;

    let results = response.unwrap()
        .json::()
        .await
        .unwrap();

    dbg!(results);
}
curl --request GET \
  --url {{baseUrl}}/v1/invitations
http GET {{baseUrl}}/v1/invitations
wget --quiet \
  --method GET \
  --output-document \
  - {{baseUrl}}/v1/invitations
import Foundation

let request = NSMutableURLRequest(url: NSURL(string: "{{baseUrl}}/v1/invitations")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error as Any)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
POST classroom.registrations.create
{{baseUrl}}/v1/registrations
BODY json

{
  "cloudPubsubTopic": {
    "topicName": ""
  },
  "expiryTime": "",
  "feed": {
    "courseRosterChangesInfo": {
      "courseId": ""
    },
    "courseWorkChangesInfo": {
      "courseId": ""
    },
    "feedType": ""
  },
  "registrationId": ""
}
Examples
REQUEST

CURL *hnd = curl_easy_init();

curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "POST");
curl_easy_setopt(hnd, CURLOPT_URL, "{{baseUrl}}/v1/registrations");

struct curl_slist *headers = NULL;
headers = curl_slist_append(headers, "content-type: application/json");
curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers);

curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\n  \"cloudPubsubTopic\": {\n    \"topicName\": \"\"\n  },\n  \"expiryTime\": \"\",\n  \"feed\": {\n    \"courseRosterChangesInfo\": {\n      \"courseId\": \"\"\n    },\n    \"courseWorkChangesInfo\": {\n      \"courseId\": \"\"\n    },\n    \"feedType\": \"\"\n  },\n  \"registrationId\": \"\"\n}");

CURLcode ret = curl_easy_perform(hnd);
(require '[clj-http.client :as client])

(client/post "{{baseUrl}}/v1/registrations" {:content-type :json
                                                             :form-params {:cloudPubsubTopic {:topicName ""}
                                                                           :expiryTime ""
                                                                           :feed {:courseRosterChangesInfo {:courseId ""}
                                                                                  :courseWorkChangesInfo {:courseId ""}
                                                                                  :feedType ""}
                                                                           :registrationId ""}})
require "http/client"

url = "{{baseUrl}}/v1/registrations"
headers = HTTP::Headers{
  "content-type" => "application/json"
}
reqBody = "{\n  \"cloudPubsubTopic\": {\n    \"topicName\": \"\"\n  },\n  \"expiryTime\": \"\",\n  \"feed\": {\n    \"courseRosterChangesInfo\": {\n      \"courseId\": \"\"\n    },\n    \"courseWorkChangesInfo\": {\n      \"courseId\": \"\"\n    },\n    \"feedType\": \"\"\n  },\n  \"registrationId\": \"\"\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}}/v1/registrations"),
    Content = new StringContent("{\n  \"cloudPubsubTopic\": {\n    \"topicName\": \"\"\n  },\n  \"expiryTime\": \"\",\n  \"feed\": {\n    \"courseRosterChangesInfo\": {\n      \"courseId\": \"\"\n    },\n    \"courseWorkChangesInfo\": {\n      \"courseId\": \"\"\n    },\n    \"feedType\": \"\"\n  },\n  \"registrationId\": \"\"\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}}/v1/registrations");
var request = new RestRequest("", Method.Post);
request.AddHeader("content-type", "application/json");
request.AddParameter("application/json", "{\n  \"cloudPubsubTopic\": {\n    \"topicName\": \"\"\n  },\n  \"expiryTime\": \"\",\n  \"feed\": {\n    \"courseRosterChangesInfo\": {\n      \"courseId\": \"\"\n    },\n    \"courseWorkChangesInfo\": {\n      \"courseId\": \"\"\n    },\n    \"feedType\": \"\"\n  },\n  \"registrationId\": \"\"\n}", ParameterType.RequestBody);
var response = client.Execute(request);
package main

import (
	"fmt"
	"strings"
	"net/http"
	"io"
)

func main() {

	url := "{{baseUrl}}/v1/registrations"

	payload := strings.NewReader("{\n  \"cloudPubsubTopic\": {\n    \"topicName\": \"\"\n  },\n  \"expiryTime\": \"\",\n  \"feed\": {\n    \"courseRosterChangesInfo\": {\n      \"courseId\": \"\"\n    },\n    \"courseWorkChangesInfo\": {\n      \"courseId\": \"\"\n    },\n    \"feedType\": \"\"\n  },\n  \"registrationId\": \"\"\n}")

	req, _ := http.NewRequest("POST", url, payload)

	req.Header.Add("content-type", "application/json")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
POST /baseUrl/v1/registrations HTTP/1.1
Content-Type: application/json
Host: example.com
Content-Length: 251

{
  "cloudPubsubTopic": {
    "topicName": ""
  },
  "expiryTime": "",
  "feed": {
    "courseRosterChangesInfo": {
      "courseId": ""
    },
    "courseWorkChangesInfo": {
      "courseId": ""
    },
    "feedType": ""
  },
  "registrationId": ""
}
AsyncHttpClient client = new DefaultAsyncHttpClient();
client.prepare("POST", "{{baseUrl}}/v1/registrations")
  .setHeader("content-type", "application/json")
  .setBody("{\n  \"cloudPubsubTopic\": {\n    \"topicName\": \"\"\n  },\n  \"expiryTime\": \"\",\n  \"feed\": {\n    \"courseRosterChangesInfo\": {\n      \"courseId\": \"\"\n    },\n    \"courseWorkChangesInfo\": {\n      \"courseId\": \"\"\n    },\n    \"feedType\": \"\"\n  },\n  \"registrationId\": \"\"\n}")
  .execute()
  .toCompletableFuture()
  .thenAccept(System.out::println)
  .join();

client.close();
HttpRequest request = HttpRequest.newBuilder()
    .uri(URI.create("{{baseUrl}}/v1/registrations"))
    .header("content-type", "application/json")
    .method("POST", HttpRequest.BodyPublishers.ofString("{\n  \"cloudPubsubTopic\": {\n    \"topicName\": \"\"\n  },\n  \"expiryTime\": \"\",\n  \"feed\": {\n    \"courseRosterChangesInfo\": {\n      \"courseId\": \"\"\n    },\n    \"courseWorkChangesInfo\": {\n      \"courseId\": \"\"\n    },\n    \"feedType\": \"\"\n  },\n  \"registrationId\": \"\"\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  \"cloudPubsubTopic\": {\n    \"topicName\": \"\"\n  },\n  \"expiryTime\": \"\",\n  \"feed\": {\n    \"courseRosterChangesInfo\": {\n      \"courseId\": \"\"\n    },\n    \"courseWorkChangesInfo\": {\n      \"courseId\": \"\"\n    },\n    \"feedType\": \"\"\n  },\n  \"registrationId\": \"\"\n}");
Request request = new Request.Builder()
  .url("{{baseUrl}}/v1/registrations")
  .post(body)
  .addHeader("content-type", "application/json")
  .build();

Response response = client.newCall(request).execute();
HttpResponse response = Unirest.post("{{baseUrl}}/v1/registrations")
  .header("content-type", "application/json")
  .body("{\n  \"cloudPubsubTopic\": {\n    \"topicName\": \"\"\n  },\n  \"expiryTime\": \"\",\n  \"feed\": {\n    \"courseRosterChangesInfo\": {\n      \"courseId\": \"\"\n    },\n    \"courseWorkChangesInfo\": {\n      \"courseId\": \"\"\n    },\n    \"feedType\": \"\"\n  },\n  \"registrationId\": \"\"\n}")
  .asString();
const data = JSON.stringify({
  cloudPubsubTopic: {
    topicName: ''
  },
  expiryTime: '',
  feed: {
    courseRosterChangesInfo: {
      courseId: ''
    },
    courseWorkChangesInfo: {
      courseId: ''
    },
    feedType: ''
  },
  registrationId: ''
});

const xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener('readystatechange', function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open('POST', '{{baseUrl}}/v1/registrations');
xhr.setRequestHeader('content-type', 'application/json');

xhr.send(data);
import axios from 'axios';

const options = {
  method: 'POST',
  url: '{{baseUrl}}/v1/registrations',
  headers: {'content-type': 'application/json'},
  data: {
    cloudPubsubTopic: {topicName: ''},
    expiryTime: '',
    feed: {
      courseRosterChangesInfo: {courseId: ''},
      courseWorkChangesInfo: {courseId: ''},
      feedType: ''
    },
    registrationId: ''
  }
};

try {
  const { data } = await axios.request(options);
  console.log(data);
} catch (error) {
  console.error(error);
}
const url = '{{baseUrl}}/v1/registrations';
const options = {
  method: 'POST',
  headers: {'content-type': 'application/json'},
  body: '{"cloudPubsubTopic":{"topicName":""},"expiryTime":"","feed":{"courseRosterChangesInfo":{"courseId":""},"courseWorkChangesInfo":{"courseId":""},"feedType":""},"registrationId":""}'
};

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}}/v1/registrations',
  method: 'POST',
  headers: {
    'content-type': 'application/json'
  },
  processData: false,
  data: '{\n  "cloudPubsubTopic": {\n    "topicName": ""\n  },\n  "expiryTime": "",\n  "feed": {\n    "courseRosterChangesInfo": {\n      "courseId": ""\n    },\n    "courseWorkChangesInfo": {\n      "courseId": ""\n    },\n    "feedType": ""\n  },\n  "registrationId": ""\n}'
};

$.ajax(settings).done(function (response) {
  console.log(response);
});
val client = OkHttpClient()

val mediaType = MediaType.parse("application/json")
val body = RequestBody.create(mediaType, "{\n  \"cloudPubsubTopic\": {\n    \"topicName\": \"\"\n  },\n  \"expiryTime\": \"\",\n  \"feed\": {\n    \"courseRosterChangesInfo\": {\n      \"courseId\": \"\"\n    },\n    \"courseWorkChangesInfo\": {\n      \"courseId\": \"\"\n    },\n    \"feedType\": \"\"\n  },\n  \"registrationId\": \"\"\n}")
val request = Request.Builder()
  .url("{{baseUrl}}/v1/registrations")
  .post(body)
  .addHeader("content-type", "application/json")
  .build()

val response = client.newCall(request).execute()
const http = require('https');

const options = {
  method: 'POST',
  hostname: 'example.com',
  port: null,
  path: '/baseUrl/v1/registrations',
  headers: {
    'content-type': 'application/json'
  }
};

const req = http.request(options, function (res) {
  const chunks = [];

  res.on('data', function (chunk) {
    chunks.push(chunk);
  });

  res.on('end', function () {
    const body = Buffer.concat(chunks);
    console.log(body.toString());
  });
});

req.write(JSON.stringify({
  cloudPubsubTopic: {topicName: ''},
  expiryTime: '',
  feed: {
    courseRosterChangesInfo: {courseId: ''},
    courseWorkChangesInfo: {courseId: ''},
    feedType: ''
  },
  registrationId: ''
}));
req.end();
const request = require('request');

const options = {
  method: 'POST',
  url: '{{baseUrl}}/v1/registrations',
  headers: {'content-type': 'application/json'},
  body: {
    cloudPubsubTopic: {topicName: ''},
    expiryTime: '',
    feed: {
      courseRosterChangesInfo: {courseId: ''},
      courseWorkChangesInfo: {courseId: ''},
      feedType: ''
    },
    registrationId: ''
  },
  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}}/v1/registrations');

req.headers({
  'content-type': 'application/json'
});

req.type('json');
req.send({
  cloudPubsubTopic: {
    topicName: ''
  },
  expiryTime: '',
  feed: {
    courseRosterChangesInfo: {
      courseId: ''
    },
    courseWorkChangesInfo: {
      courseId: ''
    },
    feedType: ''
  },
  registrationId: ''
});

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}}/v1/registrations',
  headers: {'content-type': 'application/json'},
  data: {
    cloudPubsubTopic: {topicName: ''},
    expiryTime: '',
    feed: {
      courseRosterChangesInfo: {courseId: ''},
      courseWorkChangesInfo: {courseId: ''},
      feedType: ''
    },
    registrationId: ''
  }
};

try {
  const { data } = await axios.request(options);
  console.log(data);
} catch (error) {
  console.error(error);
}
const fetch = require('node-fetch');

const url = '{{baseUrl}}/v1/registrations';
const options = {
  method: 'POST',
  headers: {'content-type': 'application/json'},
  body: '{"cloudPubsubTopic":{"topicName":""},"expiryTime":"","feed":{"courseRosterChangesInfo":{"courseId":""},"courseWorkChangesInfo":{"courseId":""},"feedType":""},"registrationId":""}'
};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
#import 

NSDictionary *headers = @{ @"content-type": @"application/json" };
NSDictionary *parameters = @{ @"cloudPubsubTopic": @{ @"topicName": @"" },
                              @"expiryTime": @"",
                              @"feed": @{ @"courseRosterChangesInfo": @{ @"courseId": @"" }, @"courseWorkChangesInfo": @{ @"courseId": @"" }, @"feedType": @"" },
                              @"registrationId": @"" };

NSData *postData = [NSJSONSerialization dataWithJSONObject:parameters options:0 error:nil];

NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"{{baseUrl}}/v1/registrations"]
                                                       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}}/v1/registrations" in
let headers = Header.add (Header.init ()) "content-type" "application/json" in
let body = Cohttp_lwt_body.of_string "{\n  \"cloudPubsubTopic\": {\n    \"topicName\": \"\"\n  },\n  \"expiryTime\": \"\",\n  \"feed\": {\n    \"courseRosterChangesInfo\": {\n      \"courseId\": \"\"\n    },\n    \"courseWorkChangesInfo\": {\n      \"courseId\": \"\"\n    },\n    \"feedType\": \"\"\n  },\n  \"registrationId\": \"\"\n}" in

Client.call ~headers ~body `POST uri
>>= fun (res, body_stream) ->
  (* Do stuff with the result *)
 "{{baseUrl}}/v1/registrations",
  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([
    'cloudPubsubTopic' => [
        'topicName' => ''
    ],
    'expiryTime' => '',
    'feed' => [
        'courseRosterChangesInfo' => [
                'courseId' => ''
        ],
        'courseWorkChangesInfo' => [
                'courseId' => ''
        ],
        'feedType' => ''
    ],
    'registrationId' => ''
  ]),
  CURLOPT_HTTPHEADER => [
    "content-type: application/json"
  ],
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
request('POST', '{{baseUrl}}/v1/registrations', [
  'body' => '{
  "cloudPubsubTopic": {
    "topicName": ""
  },
  "expiryTime": "",
  "feed": {
    "courseRosterChangesInfo": {
      "courseId": ""
    },
    "courseWorkChangesInfo": {
      "courseId": ""
    },
    "feedType": ""
  },
  "registrationId": ""
}',
  'headers' => [
    'content-type' => 'application/json',
  ],
]);

echo $response->getBody();
setUrl('{{baseUrl}}/v1/registrations');
$request->setMethod(HTTP_METH_POST);

$request->setHeaders([
  'content-type' => 'application/json'
]);

$request->setContentType('application/json');
$request->setBody(json_encode([
  'cloudPubsubTopic' => [
    'topicName' => ''
  ],
  'expiryTime' => '',
  'feed' => [
    'courseRosterChangesInfo' => [
        'courseId' => ''
    ],
    'courseWorkChangesInfo' => [
        'courseId' => ''
    ],
    'feedType' => ''
  ],
  'registrationId' => ''
]));

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
append(json_encode([
  'cloudPubsubTopic' => [
    'topicName' => ''
  ],
  'expiryTime' => '',
  'feed' => [
    'courseRosterChangesInfo' => [
        'courseId' => ''
    ],
    'courseWorkChangesInfo' => [
        'courseId' => ''
    ],
    'feedType' => ''
  ],
  'registrationId' => ''
]));
$request->setRequestUrl('{{baseUrl}}/v1/registrations');
$request->setRequestMethod('POST');
$request->setBody($body);

$request->setHeaders([
  'content-type' => 'application/json'
]);

$client->enqueue($request)->send();
$response = $client->getResponse();

echo $response->getBody();
$headers=@{}
$headers.Add("content-type", "application/json")
$response = Invoke-WebRequest -Uri '{{baseUrl}}/v1/registrations' -Method POST -Headers $headers -ContentType 'application/json' -Body '{
  "cloudPubsubTopic": {
    "topicName": ""
  },
  "expiryTime": "",
  "feed": {
    "courseRosterChangesInfo": {
      "courseId": ""
    },
    "courseWorkChangesInfo": {
      "courseId": ""
    },
    "feedType": ""
  },
  "registrationId": ""
}'
$headers=@{}
$headers.Add("content-type", "application/json")
$response = Invoke-RestMethod -Uri '{{baseUrl}}/v1/registrations' -Method POST -Headers $headers -ContentType 'application/json' -Body '{
  "cloudPubsubTopic": {
    "topicName": ""
  },
  "expiryTime": "",
  "feed": {
    "courseRosterChangesInfo": {
      "courseId": ""
    },
    "courseWorkChangesInfo": {
      "courseId": ""
    },
    "feedType": ""
  },
  "registrationId": ""
}'
import http.client

conn = http.client.HTTPSConnection("example.com")

payload = "{\n  \"cloudPubsubTopic\": {\n    \"topicName\": \"\"\n  },\n  \"expiryTime\": \"\",\n  \"feed\": {\n    \"courseRosterChangesInfo\": {\n      \"courseId\": \"\"\n    },\n    \"courseWorkChangesInfo\": {\n      \"courseId\": \"\"\n    },\n    \"feedType\": \"\"\n  },\n  \"registrationId\": \"\"\n}"

headers = { 'content-type': "application/json" }

conn.request("POST", "/baseUrl/v1/registrations", payload, headers)

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))
import requests

url = "{{baseUrl}}/v1/registrations"

payload = {
    "cloudPubsubTopic": { "topicName": "" },
    "expiryTime": "",
    "feed": {
        "courseRosterChangesInfo": { "courseId": "" },
        "courseWorkChangesInfo": { "courseId": "" },
        "feedType": ""
    },
    "registrationId": ""
}
headers = {"content-type": "application/json"}

response = requests.post(url, json=payload, headers=headers)

print(response.json())
library(httr)

url <- "{{baseUrl}}/v1/registrations"

payload <- "{\n  \"cloudPubsubTopic\": {\n    \"topicName\": \"\"\n  },\n  \"expiryTime\": \"\",\n  \"feed\": {\n    \"courseRosterChangesInfo\": {\n      \"courseId\": \"\"\n    },\n    \"courseWorkChangesInfo\": {\n      \"courseId\": \"\"\n    },\n    \"feedType\": \"\"\n  },\n  \"registrationId\": \"\"\n}"

encode <- "json"

response <- VERB("POST", url, body = payload, content_type("application/json"), encode = encode)

content(response, "text")
require 'uri'
require 'net/http'

url = URI("{{baseUrl}}/v1/registrations")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["content-type"] = 'application/json'
request.body = "{\n  \"cloudPubsubTopic\": {\n    \"topicName\": \"\"\n  },\n  \"expiryTime\": \"\",\n  \"feed\": {\n    \"courseRosterChangesInfo\": {\n      \"courseId\": \"\"\n    },\n    \"courseWorkChangesInfo\": {\n      \"courseId\": \"\"\n    },\n    \"feedType\": \"\"\n  },\n  \"registrationId\": \"\"\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/v1/registrations') do |req|
  req.body = "{\n  \"cloudPubsubTopic\": {\n    \"topicName\": \"\"\n  },\n  \"expiryTime\": \"\",\n  \"feed\": {\n    \"courseRosterChangesInfo\": {\n      \"courseId\": \"\"\n    },\n    \"courseWorkChangesInfo\": {\n      \"courseId\": \"\"\n    },\n    \"feedType\": \"\"\n  },\n  \"registrationId\": \"\"\n}"
end

puts response.status
puts response.body
use serde_json::json;
use reqwest;

#[tokio::main]
pub async fn main() {
    let url = "{{baseUrl}}/v1/registrations";

    let payload = json!({
        "cloudPubsubTopic": json!({"topicName": ""}),
        "expiryTime": "",
        "feed": json!({
            "courseRosterChangesInfo": json!({"courseId": ""}),
            "courseWorkChangesInfo": json!({"courseId": ""}),
            "feedType": ""
        }),
        "registrationId": ""
    });

    let mut headers = reqwest::header::HeaderMap::new();
    headers.insert("content-type", "application/json".parse().unwrap());

    let client = reqwest::Client::new();
    let response = client.post(url)
        .headers(headers)
        .json(&payload)
        .send()
        .await;

    let results = response.unwrap()
        .json::()
        .await
        .unwrap();

    dbg!(results);
}
curl --request POST \
  --url {{baseUrl}}/v1/registrations \
  --header 'content-type: application/json' \
  --data '{
  "cloudPubsubTopic": {
    "topicName": ""
  },
  "expiryTime": "",
  "feed": {
    "courseRosterChangesInfo": {
      "courseId": ""
    },
    "courseWorkChangesInfo": {
      "courseId": ""
    },
    "feedType": ""
  },
  "registrationId": ""
}'
echo '{
  "cloudPubsubTopic": {
    "topicName": ""
  },
  "expiryTime": "",
  "feed": {
    "courseRosterChangesInfo": {
      "courseId": ""
    },
    "courseWorkChangesInfo": {
      "courseId": ""
    },
    "feedType": ""
  },
  "registrationId": ""
}' |  \
  http POST {{baseUrl}}/v1/registrations \
  content-type:application/json
wget --quiet \
  --method POST \
  --header 'content-type: application/json' \
  --body-data '{\n  "cloudPubsubTopic": {\n    "topicName": ""\n  },\n  "expiryTime": "",\n  "feed": {\n    "courseRosterChangesInfo": {\n      "courseId": ""\n    },\n    "courseWorkChangesInfo": {\n      "courseId": ""\n    },\n    "feedType": ""\n  },\n  "registrationId": ""\n}' \
  --output-document \
  - {{baseUrl}}/v1/registrations
import Foundation

let headers = ["content-type": "application/json"]
let parameters = [
  "cloudPubsubTopic": ["topicName": ""],
  "expiryTime": "",
  "feed": [
    "courseRosterChangesInfo": ["courseId": ""],
    "courseWorkChangesInfo": ["courseId": ""],
    "feedType": ""
  ],
  "registrationId": ""
] as [String : Any]

let postData = JSONSerialization.data(withJSONObject: parameters, options: [])

let request = NSMutableURLRequest(url: NSURL(string: "{{baseUrl}}/v1/registrations")! 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()
DELETE classroom.registrations.delete
{{baseUrl}}/v1/registrations/:registrationId
QUERY PARAMS

registrationId
Examples
REQUEST

CURL *hnd = curl_easy_init();

curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "DELETE");
curl_easy_setopt(hnd, CURLOPT_URL, "{{baseUrl}}/v1/registrations/:registrationId");

CURLcode ret = curl_easy_perform(hnd);
(require '[clj-http.client :as client])

(client/delete "{{baseUrl}}/v1/registrations/:registrationId")
require "http/client"

url = "{{baseUrl}}/v1/registrations/:registrationId"

response = HTTP::Client.delete url
puts response.body
using System.Net.Http.Headers;
var client = new HttpClient();
var request = new HttpRequestMessage
{
    Method = HttpMethod.Delete,
    RequestUri = new Uri("{{baseUrl}}/v1/registrations/:registrationId"),
};
using (var response = await client.SendAsync(request))
{
    response.EnsureSuccessStatusCode();
    var body = await response.Content.ReadAsStringAsync();
    Console.WriteLine(body);
}
var client = new RestClient("{{baseUrl}}/v1/registrations/:registrationId");
var request = new RestRequest("", Method.Delete);
var response = client.Execute(request);
package main

import (
	"fmt"
	"net/http"
	"io"
)

func main() {

	url := "{{baseUrl}}/v1/registrations/:registrationId"

	req, _ := http.NewRequest("DELETE", url, nil)

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
DELETE /baseUrl/v1/registrations/:registrationId HTTP/1.1
Host: example.com

AsyncHttpClient client = new DefaultAsyncHttpClient();
client.prepare("DELETE", "{{baseUrl}}/v1/registrations/:registrationId")
  .execute()
  .toCompletableFuture()
  .thenAccept(System.out::println)
  .join();

client.close();
HttpRequest request = HttpRequest.newBuilder()
    .uri(URI.create("{{baseUrl}}/v1/registrations/:registrationId"))
    .method("DELETE", 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}}/v1/registrations/:registrationId")
  .delete(null)
  .build();

Response response = client.newCall(request).execute();
HttpResponse response = Unirest.delete("{{baseUrl}}/v1/registrations/:registrationId")
  .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('DELETE', '{{baseUrl}}/v1/registrations/:registrationId');

xhr.send(data);
import axios from 'axios';

const options = {
  method: 'DELETE',
  url: '{{baseUrl}}/v1/registrations/:registrationId'
};

try {
  const { data } = await axios.request(options);
  console.log(data);
} catch (error) {
  console.error(error);
}
const url = '{{baseUrl}}/v1/registrations/:registrationId';
const options = {method: 'DELETE'};

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}}/v1/registrations/:registrationId',
  method: 'DELETE',
  headers: {}
};

$.ajax(settings).done(function (response) {
  console.log(response);
});
val client = OkHttpClient()

val request = Request.Builder()
  .url("{{baseUrl}}/v1/registrations/:registrationId")
  .delete(null)
  .build()

val response = client.newCall(request).execute()
const http = require('https');

const options = {
  method: 'DELETE',
  hostname: 'example.com',
  port: null,
  path: '/baseUrl/v1/registrations/:registrationId',
  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: 'DELETE',
  url: '{{baseUrl}}/v1/registrations/:registrationId'
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
const unirest = require('unirest');

const req = unirest('DELETE', '{{baseUrl}}/v1/registrations/:registrationId');

req.end(function (res) {
  if (res.error) throw new Error(res.error);

  console.log(res.body);
});
const axios = require('axios').default;

const options = {
  method: 'DELETE',
  url: '{{baseUrl}}/v1/registrations/:registrationId'
};

try {
  const { data } = await axios.request(options);
  console.log(data);
} catch (error) {
  console.error(error);
}
const fetch = require('node-fetch');

const url = '{{baseUrl}}/v1/registrations/:registrationId';
const options = {method: 'DELETE'};

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}}/v1/registrations/:registrationId"]
                                                       cachePolicy:NSURLRequestUseProtocolCachePolicy
                                                   timeoutInterval:10.0];
[request setHTTPMethod:@"DELETE"];

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}}/v1/registrations/:registrationId" in

Client.call `DELETE uri
>>= fun (res, body_stream) ->
  (* Do stuff with the result *)
 "{{baseUrl}}/v1/registrations/:registrationId",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "DELETE",
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
request('DELETE', '{{baseUrl}}/v1/registrations/:registrationId');

echo $response->getBody();
setUrl('{{baseUrl}}/v1/registrations/:registrationId');
$request->setMethod(HTTP_METH_DELETE);

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
setRequestUrl('{{baseUrl}}/v1/registrations/:registrationId');
$request->setRequestMethod('DELETE');
$client->enqueue($request)->send();
$response = $client->getResponse();

echo $response->getBody();
$response = Invoke-WebRequest -Uri '{{baseUrl}}/v1/registrations/:registrationId' -Method DELETE 
$response = Invoke-RestMethod -Uri '{{baseUrl}}/v1/registrations/:registrationId' -Method DELETE 
import http.client

conn = http.client.HTTPSConnection("example.com")

conn.request("DELETE", "/baseUrl/v1/registrations/:registrationId")

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))
import requests

url = "{{baseUrl}}/v1/registrations/:registrationId"

response = requests.delete(url)

print(response.json())
library(httr)

url <- "{{baseUrl}}/v1/registrations/:registrationId"

response <- VERB("DELETE", url, content_type("application/octet-stream"))

content(response, "text")
require 'uri'
require 'net/http'

url = URI("{{baseUrl}}/v1/registrations/:registrationId")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Delete.new(url)

response = http.request(request)
puts response.read_body
require 'faraday'

conn = Faraday.new(
  url: 'https://example.com',
)

response = conn.delete('/baseUrl/v1/registrations/:registrationId') do |req|
end

puts response.status
puts response.body
use std::str::FromStr;
use reqwest;

#[tokio::main]
pub async fn main() {
    let url = "{{baseUrl}}/v1/registrations/:registrationId";

    let client = reqwest::Client::new();
    let response = client.request(reqwest::Method::from_str("DELETE").unwrap(), url)
        .send()
        .await;

    let results = response.unwrap()
        .json::()
        .await
        .unwrap();

    dbg!(results);
}
curl --request DELETE \
  --url {{baseUrl}}/v1/registrations/:registrationId
http DELETE {{baseUrl}}/v1/registrations/:registrationId
wget --quiet \
  --method DELETE \
  --output-document \
  - {{baseUrl}}/v1/registrations/:registrationId
import Foundation

let request = NSMutableURLRequest(url: NSURL(string: "{{baseUrl}}/v1/registrations/:registrationId")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "DELETE"

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 classroom.userProfiles.get
{{baseUrl}}/v1/userProfiles/:userId
QUERY PARAMS

userId
Examples
REQUEST

CURL *hnd = curl_easy_init();

curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET");
curl_easy_setopt(hnd, CURLOPT_URL, "{{baseUrl}}/v1/userProfiles/:userId");

CURLcode ret = curl_easy_perform(hnd);
(require '[clj-http.client :as client])

(client/get "{{baseUrl}}/v1/userProfiles/:userId")
require "http/client"

url = "{{baseUrl}}/v1/userProfiles/:userId"

response = HTTP::Client.get url
puts response.body
using System.Net.Http.Headers;
var client = new HttpClient();
var request = new HttpRequestMessage
{
    Method = HttpMethod.Get,
    RequestUri = new Uri("{{baseUrl}}/v1/userProfiles/:userId"),
};
using (var response = await client.SendAsync(request))
{
    response.EnsureSuccessStatusCode();
    var body = await response.Content.ReadAsStringAsync();
    Console.WriteLine(body);
}
var client = new RestClient("{{baseUrl}}/v1/userProfiles/:userId");
var request = new RestRequest("", Method.Get);
var response = client.Execute(request);
package main

import (
	"fmt"
	"net/http"
	"io"
)

func main() {

	url := "{{baseUrl}}/v1/userProfiles/:userId"

	req, _ := http.NewRequest("GET", url, nil)

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
GET /baseUrl/v1/userProfiles/:userId HTTP/1.1
Host: example.com

AsyncHttpClient client = new DefaultAsyncHttpClient();
client.prepare("GET", "{{baseUrl}}/v1/userProfiles/:userId")
  .execute()
  .toCompletableFuture()
  .thenAccept(System.out::println)
  .join();

client.close();
HttpRequest request = HttpRequest.newBuilder()
    .uri(URI.create("{{baseUrl}}/v1/userProfiles/:userId"))
    .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}}/v1/userProfiles/:userId")
  .get()
  .build();

Response response = client.newCall(request).execute();
HttpResponse response = Unirest.get("{{baseUrl}}/v1/userProfiles/:userId")
  .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}}/v1/userProfiles/:userId');

xhr.send(data);
import axios from 'axios';

const options = {method: 'GET', url: '{{baseUrl}}/v1/userProfiles/:userId'};

try {
  const { data } = await axios.request(options);
  console.log(data);
} catch (error) {
  console.error(error);
}
const url = '{{baseUrl}}/v1/userProfiles/:userId';
const options = {method: 'GET'};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
const settings = {
  async: true,
  crossDomain: true,
  url: '{{baseUrl}}/v1/userProfiles/:userId',
  method: 'GET',
  headers: {}
};

$.ajax(settings).done(function (response) {
  console.log(response);
});
val client = OkHttpClient()

val request = Request.Builder()
  .url("{{baseUrl}}/v1/userProfiles/:userId")
  .get()
  .build()

val response = client.newCall(request).execute()
const http = require('https');

const options = {
  method: 'GET',
  hostname: 'example.com',
  port: null,
  path: '/baseUrl/v1/userProfiles/:userId',
  headers: {}
};

const req = http.request(options, function (res) {
  const chunks = [];

  res.on('data', function (chunk) {
    chunks.push(chunk);
  });

  res.on('end', function () {
    const body = Buffer.concat(chunks);
    console.log(body.toString());
  });
});

req.end();
const request = require('request');

const options = {method: 'GET', url: '{{baseUrl}}/v1/userProfiles/:userId'};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
const unirest = require('unirest');

const req = unirest('GET', '{{baseUrl}}/v1/userProfiles/:userId');

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}}/v1/userProfiles/:userId'};

try {
  const { data } = await axios.request(options);
  console.log(data);
} catch (error) {
  console.error(error);
}
const fetch = require('node-fetch');

const url = '{{baseUrl}}/v1/userProfiles/:userId';
const options = {method: 'GET'};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
#import 

NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"{{baseUrl}}/v1/userProfiles/:userId"]
                                                       cachePolicy:NSURLRequestUseProtocolCachePolicy
                                                   timeoutInterval:10.0];
[request setHTTPMethod:@"GET"];

NSURLSession *session = [NSURLSession sharedSession];
NSURLSessionDataTask *dataTask = [session dataTaskWithRequest:request
                                            completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
                                                if (error) {
                                                    NSLog(@"%@", error);
                                                } else {
                                                    NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse *) response;
                                                    NSLog(@"%@", httpResponse);
                                                }
                                            }];
[dataTask resume];
open Cohttp_lwt_unix
open Cohttp
open Lwt

let uri = Uri.of_string "{{baseUrl}}/v1/userProfiles/:userId" in

Client.call `GET uri
>>= fun (res, body_stream) ->
  (* Do stuff with the result *)
 "{{baseUrl}}/v1/userProfiles/:userId",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "GET",
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
request('GET', '{{baseUrl}}/v1/userProfiles/:userId');

echo $response->getBody();
setUrl('{{baseUrl}}/v1/userProfiles/:userId');
$request->setMethod(HTTP_METH_GET);

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
setRequestUrl('{{baseUrl}}/v1/userProfiles/:userId');
$request->setRequestMethod('GET');
$client->enqueue($request)->send();
$response = $client->getResponse();

echo $response->getBody();
$response = Invoke-WebRequest -Uri '{{baseUrl}}/v1/userProfiles/:userId' -Method GET 
$response = Invoke-RestMethod -Uri '{{baseUrl}}/v1/userProfiles/:userId' -Method GET 
import http.client

conn = http.client.HTTPSConnection("example.com")

conn.request("GET", "/baseUrl/v1/userProfiles/:userId")

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))
import requests

url = "{{baseUrl}}/v1/userProfiles/:userId"

response = requests.get(url)

print(response.json())
library(httr)

url <- "{{baseUrl}}/v1/userProfiles/:userId"

response <- VERB("GET", url, content_type("application/octet-stream"))

content(response, "text")
require 'uri'
require 'net/http'

url = URI("{{baseUrl}}/v1/userProfiles/:userId")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
require 'faraday'

conn = Faraday.new(
  url: 'https://example.com',
)

response = conn.get('/baseUrl/v1/userProfiles/:userId') do |req|
end

puts response.status
puts response.body
use reqwest;

#[tokio::main]
pub async fn main() {
    let url = "{{baseUrl}}/v1/userProfiles/:userId";

    let client = reqwest::Client::new();
    let response = client.get(url)
        .send()
        .await;

    let results = response.unwrap()
        .json::()
        .await
        .unwrap();

    dbg!(results);
}
curl --request GET \
  --url {{baseUrl}}/v1/userProfiles/:userId
http GET {{baseUrl}}/v1/userProfiles/:userId
wget --quiet \
  --method GET \
  --output-document \
  - {{baseUrl}}/v1/userProfiles/:userId
import Foundation

let request = NSMutableURLRequest(url: NSURL(string: "{{baseUrl}}/v1/userProfiles/:userId")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error as Any)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
POST classroom.userProfiles.guardianInvitations.create
{{baseUrl}}/v1/userProfiles/:studentId/guardianInvitations
QUERY PARAMS

studentId
BODY json

{
  "creationTime": "",
  "invitationId": "",
  "invitedEmailAddress": "",
  "state": "",
  "studentId": ""
}
Examples
REQUEST

CURL *hnd = curl_easy_init();

curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "POST");
curl_easy_setopt(hnd, CURLOPT_URL, "{{baseUrl}}/v1/userProfiles/:studentId/guardianInvitations");

struct curl_slist *headers = NULL;
headers = curl_slist_append(headers, "content-type: application/json");
curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers);

curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\n  \"creationTime\": \"\",\n  \"invitationId\": \"\",\n  \"invitedEmailAddress\": \"\",\n  \"state\": \"\",\n  \"studentId\": \"\"\n}");

CURLcode ret = curl_easy_perform(hnd);
(require '[clj-http.client :as client])

(client/post "{{baseUrl}}/v1/userProfiles/:studentId/guardianInvitations" {:content-type :json
                                                                                           :form-params {:creationTime ""
                                                                                                         :invitationId ""
                                                                                                         :invitedEmailAddress ""
                                                                                                         :state ""
                                                                                                         :studentId ""}})
require "http/client"

url = "{{baseUrl}}/v1/userProfiles/:studentId/guardianInvitations"
headers = HTTP::Headers{
  "content-type" => "application/json"
}
reqBody = "{\n  \"creationTime\": \"\",\n  \"invitationId\": \"\",\n  \"invitedEmailAddress\": \"\",\n  \"state\": \"\",\n  \"studentId\": \"\"\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}}/v1/userProfiles/:studentId/guardianInvitations"),
    Content = new StringContent("{\n  \"creationTime\": \"\",\n  \"invitationId\": \"\",\n  \"invitedEmailAddress\": \"\",\n  \"state\": \"\",\n  \"studentId\": \"\"\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}}/v1/userProfiles/:studentId/guardianInvitations");
var request = new RestRequest("", Method.Post);
request.AddHeader("content-type", "application/json");
request.AddParameter("application/json", "{\n  \"creationTime\": \"\",\n  \"invitationId\": \"\",\n  \"invitedEmailAddress\": \"\",\n  \"state\": \"\",\n  \"studentId\": \"\"\n}", ParameterType.RequestBody);
var response = client.Execute(request);
package main

import (
	"fmt"
	"strings"
	"net/http"
	"io"
)

func main() {

	url := "{{baseUrl}}/v1/userProfiles/:studentId/guardianInvitations"

	payload := strings.NewReader("{\n  \"creationTime\": \"\",\n  \"invitationId\": \"\",\n  \"invitedEmailAddress\": \"\",\n  \"state\": \"\",\n  \"studentId\": \"\"\n}")

	req, _ := http.NewRequest("POST", url, payload)

	req.Header.Add("content-type", "application/json")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
POST /baseUrl/v1/userProfiles/:studentId/guardianInvitations HTTP/1.1
Content-Type: application/json
Host: example.com
Content-Length: 109

{
  "creationTime": "",
  "invitationId": "",
  "invitedEmailAddress": "",
  "state": "",
  "studentId": ""
}
AsyncHttpClient client = new DefaultAsyncHttpClient();
client.prepare("POST", "{{baseUrl}}/v1/userProfiles/:studentId/guardianInvitations")
  .setHeader("content-type", "application/json")
  .setBody("{\n  \"creationTime\": \"\",\n  \"invitationId\": \"\",\n  \"invitedEmailAddress\": \"\",\n  \"state\": \"\",\n  \"studentId\": \"\"\n}")
  .execute()
  .toCompletableFuture()
  .thenAccept(System.out::println)
  .join();

client.close();
HttpRequest request = HttpRequest.newBuilder()
    .uri(URI.create("{{baseUrl}}/v1/userProfiles/:studentId/guardianInvitations"))
    .header("content-type", "application/json")
    .method("POST", HttpRequest.BodyPublishers.ofString("{\n  \"creationTime\": \"\",\n  \"invitationId\": \"\",\n  \"invitedEmailAddress\": \"\",\n  \"state\": \"\",\n  \"studentId\": \"\"\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  \"creationTime\": \"\",\n  \"invitationId\": \"\",\n  \"invitedEmailAddress\": \"\",\n  \"state\": \"\",\n  \"studentId\": \"\"\n}");
Request request = new Request.Builder()
  .url("{{baseUrl}}/v1/userProfiles/:studentId/guardianInvitations")
  .post(body)
  .addHeader("content-type", "application/json")
  .build();

Response response = client.newCall(request).execute();
HttpResponse response = Unirest.post("{{baseUrl}}/v1/userProfiles/:studentId/guardianInvitations")
  .header("content-type", "application/json")
  .body("{\n  \"creationTime\": \"\",\n  \"invitationId\": \"\",\n  \"invitedEmailAddress\": \"\",\n  \"state\": \"\",\n  \"studentId\": \"\"\n}")
  .asString();
const data = JSON.stringify({
  creationTime: '',
  invitationId: '',
  invitedEmailAddress: '',
  state: '',
  studentId: ''
});

const xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener('readystatechange', function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open('POST', '{{baseUrl}}/v1/userProfiles/:studentId/guardianInvitations');
xhr.setRequestHeader('content-type', 'application/json');

xhr.send(data);
import axios from 'axios';

const options = {
  method: 'POST',
  url: '{{baseUrl}}/v1/userProfiles/:studentId/guardianInvitations',
  headers: {'content-type': 'application/json'},
  data: {
    creationTime: '',
    invitationId: '',
    invitedEmailAddress: '',
    state: '',
    studentId: ''
  }
};

try {
  const { data } = await axios.request(options);
  console.log(data);
} catch (error) {
  console.error(error);
}
const url = '{{baseUrl}}/v1/userProfiles/:studentId/guardianInvitations';
const options = {
  method: 'POST',
  headers: {'content-type': 'application/json'},
  body: '{"creationTime":"","invitationId":"","invitedEmailAddress":"","state":"","studentId":""}'
};

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}}/v1/userProfiles/:studentId/guardianInvitations',
  method: 'POST',
  headers: {
    'content-type': 'application/json'
  },
  processData: false,
  data: '{\n  "creationTime": "",\n  "invitationId": "",\n  "invitedEmailAddress": "",\n  "state": "",\n  "studentId": ""\n}'
};

$.ajax(settings).done(function (response) {
  console.log(response);
});
val client = OkHttpClient()

val mediaType = MediaType.parse("application/json")
val body = RequestBody.create(mediaType, "{\n  \"creationTime\": \"\",\n  \"invitationId\": \"\",\n  \"invitedEmailAddress\": \"\",\n  \"state\": \"\",\n  \"studentId\": \"\"\n}")
val request = Request.Builder()
  .url("{{baseUrl}}/v1/userProfiles/:studentId/guardianInvitations")
  .post(body)
  .addHeader("content-type", "application/json")
  .build()

val response = client.newCall(request).execute()
const http = require('https');

const options = {
  method: 'POST',
  hostname: 'example.com',
  port: null,
  path: '/baseUrl/v1/userProfiles/:studentId/guardianInvitations',
  headers: {
    'content-type': 'application/json'
  }
};

const req = http.request(options, function (res) {
  const chunks = [];

  res.on('data', function (chunk) {
    chunks.push(chunk);
  });

  res.on('end', function () {
    const body = Buffer.concat(chunks);
    console.log(body.toString());
  });
});

req.write(JSON.stringify({
  creationTime: '',
  invitationId: '',
  invitedEmailAddress: '',
  state: '',
  studentId: ''
}));
req.end();
const request = require('request');

const options = {
  method: 'POST',
  url: '{{baseUrl}}/v1/userProfiles/:studentId/guardianInvitations',
  headers: {'content-type': 'application/json'},
  body: {
    creationTime: '',
    invitationId: '',
    invitedEmailAddress: '',
    state: '',
    studentId: ''
  },
  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}}/v1/userProfiles/:studentId/guardianInvitations');

req.headers({
  'content-type': 'application/json'
});

req.type('json');
req.send({
  creationTime: '',
  invitationId: '',
  invitedEmailAddress: '',
  state: '',
  studentId: ''
});

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}}/v1/userProfiles/:studentId/guardianInvitations',
  headers: {'content-type': 'application/json'},
  data: {
    creationTime: '',
    invitationId: '',
    invitedEmailAddress: '',
    state: '',
    studentId: ''
  }
};

try {
  const { data } = await axios.request(options);
  console.log(data);
} catch (error) {
  console.error(error);
}
const fetch = require('node-fetch');

const url = '{{baseUrl}}/v1/userProfiles/:studentId/guardianInvitations';
const options = {
  method: 'POST',
  headers: {'content-type': 'application/json'},
  body: '{"creationTime":"","invitationId":"","invitedEmailAddress":"","state":"","studentId":""}'
};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
#import 

NSDictionary *headers = @{ @"content-type": @"application/json" };
NSDictionary *parameters = @{ @"creationTime": @"",
                              @"invitationId": @"",
                              @"invitedEmailAddress": @"",
                              @"state": @"",
                              @"studentId": @"" };

NSData *postData = [NSJSONSerialization dataWithJSONObject:parameters options:0 error:nil];

NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"{{baseUrl}}/v1/userProfiles/:studentId/guardianInvitations"]
                                                       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}}/v1/userProfiles/:studentId/guardianInvitations" in
let headers = Header.add (Header.init ()) "content-type" "application/json" in
let body = Cohttp_lwt_body.of_string "{\n  \"creationTime\": \"\",\n  \"invitationId\": \"\",\n  \"invitedEmailAddress\": \"\",\n  \"state\": \"\",\n  \"studentId\": \"\"\n}" in

Client.call ~headers ~body `POST uri
>>= fun (res, body_stream) ->
  (* Do stuff with the result *)
 "{{baseUrl}}/v1/userProfiles/:studentId/guardianInvitations",
  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([
    'creationTime' => '',
    'invitationId' => '',
    'invitedEmailAddress' => '',
    'state' => '',
    'studentId' => ''
  ]),
  CURLOPT_HTTPHEADER => [
    "content-type: application/json"
  ],
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
request('POST', '{{baseUrl}}/v1/userProfiles/:studentId/guardianInvitations', [
  'body' => '{
  "creationTime": "",
  "invitationId": "",
  "invitedEmailAddress": "",
  "state": "",
  "studentId": ""
}',
  'headers' => [
    'content-type' => 'application/json',
  ],
]);

echo $response->getBody();
setUrl('{{baseUrl}}/v1/userProfiles/:studentId/guardianInvitations');
$request->setMethod(HTTP_METH_POST);

$request->setHeaders([
  'content-type' => 'application/json'
]);

$request->setContentType('application/json');
$request->setBody(json_encode([
  'creationTime' => '',
  'invitationId' => '',
  'invitedEmailAddress' => '',
  'state' => '',
  'studentId' => ''
]));

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
append(json_encode([
  'creationTime' => '',
  'invitationId' => '',
  'invitedEmailAddress' => '',
  'state' => '',
  'studentId' => ''
]));
$request->setRequestUrl('{{baseUrl}}/v1/userProfiles/:studentId/guardianInvitations');
$request->setRequestMethod('POST');
$request->setBody($body);

$request->setHeaders([
  'content-type' => 'application/json'
]);

$client->enqueue($request)->send();
$response = $client->getResponse();

echo $response->getBody();
$headers=@{}
$headers.Add("content-type", "application/json")
$response = Invoke-WebRequest -Uri '{{baseUrl}}/v1/userProfiles/:studentId/guardianInvitations' -Method POST -Headers $headers -ContentType 'application/json' -Body '{
  "creationTime": "",
  "invitationId": "",
  "invitedEmailAddress": "",
  "state": "",
  "studentId": ""
}'
$headers=@{}
$headers.Add("content-type", "application/json")
$response = Invoke-RestMethod -Uri '{{baseUrl}}/v1/userProfiles/:studentId/guardianInvitations' -Method POST -Headers $headers -ContentType 'application/json' -Body '{
  "creationTime": "",
  "invitationId": "",
  "invitedEmailAddress": "",
  "state": "",
  "studentId": ""
}'
import http.client

conn = http.client.HTTPSConnection("example.com")

payload = "{\n  \"creationTime\": \"\",\n  \"invitationId\": \"\",\n  \"invitedEmailAddress\": \"\",\n  \"state\": \"\",\n  \"studentId\": \"\"\n}"

headers = { 'content-type': "application/json" }

conn.request("POST", "/baseUrl/v1/userProfiles/:studentId/guardianInvitations", payload, headers)

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))
import requests

url = "{{baseUrl}}/v1/userProfiles/:studentId/guardianInvitations"

payload = {
    "creationTime": "",
    "invitationId": "",
    "invitedEmailAddress": "",
    "state": "",
    "studentId": ""
}
headers = {"content-type": "application/json"}

response = requests.post(url, json=payload, headers=headers)

print(response.json())
library(httr)

url <- "{{baseUrl}}/v1/userProfiles/:studentId/guardianInvitations"

payload <- "{\n  \"creationTime\": \"\",\n  \"invitationId\": \"\",\n  \"invitedEmailAddress\": \"\",\n  \"state\": \"\",\n  \"studentId\": \"\"\n}"

encode <- "json"

response <- VERB("POST", url, body = payload, content_type("application/json"), encode = encode)

content(response, "text")
require 'uri'
require 'net/http'

url = URI("{{baseUrl}}/v1/userProfiles/:studentId/guardianInvitations")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["content-type"] = 'application/json'
request.body = "{\n  \"creationTime\": \"\",\n  \"invitationId\": \"\",\n  \"invitedEmailAddress\": \"\",\n  \"state\": \"\",\n  \"studentId\": \"\"\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/v1/userProfiles/:studentId/guardianInvitations') do |req|
  req.body = "{\n  \"creationTime\": \"\",\n  \"invitationId\": \"\",\n  \"invitedEmailAddress\": \"\",\n  \"state\": \"\",\n  \"studentId\": \"\"\n}"
end

puts response.status
puts response.body
use serde_json::json;
use reqwest;

#[tokio::main]
pub async fn main() {
    let url = "{{baseUrl}}/v1/userProfiles/:studentId/guardianInvitations";

    let payload = json!({
        "creationTime": "",
        "invitationId": "",
        "invitedEmailAddress": "",
        "state": "",
        "studentId": ""
    });

    let mut headers = reqwest::header::HeaderMap::new();
    headers.insert("content-type", "application/json".parse().unwrap());

    let client = reqwest::Client::new();
    let response = client.post(url)
        .headers(headers)
        .json(&payload)
        .send()
        .await;

    let results = response.unwrap()
        .json::()
        .await
        .unwrap();

    dbg!(results);
}
curl --request POST \
  --url {{baseUrl}}/v1/userProfiles/:studentId/guardianInvitations \
  --header 'content-type: application/json' \
  --data '{
  "creationTime": "",
  "invitationId": "",
  "invitedEmailAddress": "",
  "state": "",
  "studentId": ""
}'
echo '{
  "creationTime": "",
  "invitationId": "",
  "invitedEmailAddress": "",
  "state": "",
  "studentId": ""
}' |  \
  http POST {{baseUrl}}/v1/userProfiles/:studentId/guardianInvitations \
  content-type:application/json
wget --quiet \
  --method POST \
  --header 'content-type: application/json' \
  --body-data '{\n  "creationTime": "",\n  "invitationId": "",\n  "invitedEmailAddress": "",\n  "state": "",\n  "studentId": ""\n}' \
  --output-document \
  - {{baseUrl}}/v1/userProfiles/:studentId/guardianInvitations
import Foundation

let headers = ["content-type": "application/json"]
let parameters = [
  "creationTime": "",
  "invitationId": "",
  "invitedEmailAddress": "",
  "state": "",
  "studentId": ""
] as [String : Any]

let postData = JSONSerialization.data(withJSONObject: parameters, options: [])

let request = NSMutableURLRequest(url: NSURL(string: "{{baseUrl}}/v1/userProfiles/:studentId/guardianInvitations")! 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 classroom.userProfiles.guardianInvitations.get
{{baseUrl}}/v1/userProfiles/:studentId/guardianInvitations/:invitationId
QUERY PARAMS

studentId
invitationId
Examples
REQUEST

CURL *hnd = curl_easy_init();

curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET");
curl_easy_setopt(hnd, CURLOPT_URL, "{{baseUrl}}/v1/userProfiles/:studentId/guardianInvitations/:invitationId");

CURLcode ret = curl_easy_perform(hnd);
(require '[clj-http.client :as client])

(client/get "{{baseUrl}}/v1/userProfiles/:studentId/guardianInvitations/:invitationId")
require "http/client"

url = "{{baseUrl}}/v1/userProfiles/:studentId/guardianInvitations/:invitationId"

response = HTTP::Client.get url
puts response.body
using System.Net.Http.Headers;
var client = new HttpClient();
var request = new HttpRequestMessage
{
    Method = HttpMethod.Get,
    RequestUri = new Uri("{{baseUrl}}/v1/userProfiles/:studentId/guardianInvitations/:invitationId"),
};
using (var response = await client.SendAsync(request))
{
    response.EnsureSuccessStatusCode();
    var body = await response.Content.ReadAsStringAsync();
    Console.WriteLine(body);
}
var client = new RestClient("{{baseUrl}}/v1/userProfiles/:studentId/guardianInvitations/:invitationId");
var request = new RestRequest("", Method.Get);
var response = client.Execute(request);
package main

import (
	"fmt"
	"net/http"
	"io"
)

func main() {

	url := "{{baseUrl}}/v1/userProfiles/:studentId/guardianInvitations/:invitationId"

	req, _ := http.NewRequest("GET", url, nil)

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
GET /baseUrl/v1/userProfiles/:studentId/guardianInvitations/:invitationId HTTP/1.1
Host: example.com

AsyncHttpClient client = new DefaultAsyncHttpClient();
client.prepare("GET", "{{baseUrl}}/v1/userProfiles/:studentId/guardianInvitations/:invitationId")
  .execute()
  .toCompletableFuture()
  .thenAccept(System.out::println)
  .join();

client.close();
HttpRequest request = HttpRequest.newBuilder()
    .uri(URI.create("{{baseUrl}}/v1/userProfiles/:studentId/guardianInvitations/:invitationId"))
    .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}}/v1/userProfiles/:studentId/guardianInvitations/:invitationId")
  .get()
  .build();

Response response = client.newCall(request).execute();
HttpResponse response = Unirest.get("{{baseUrl}}/v1/userProfiles/:studentId/guardianInvitations/:invitationId")
  .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}}/v1/userProfiles/:studentId/guardianInvitations/:invitationId');

xhr.send(data);
import axios from 'axios';

const options = {
  method: 'GET',
  url: '{{baseUrl}}/v1/userProfiles/:studentId/guardianInvitations/:invitationId'
};

try {
  const { data } = await axios.request(options);
  console.log(data);
} catch (error) {
  console.error(error);
}
const url = '{{baseUrl}}/v1/userProfiles/:studentId/guardianInvitations/:invitationId';
const options = {method: 'GET'};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
const settings = {
  async: true,
  crossDomain: true,
  url: '{{baseUrl}}/v1/userProfiles/:studentId/guardianInvitations/:invitationId',
  method: 'GET',
  headers: {}
};

$.ajax(settings).done(function (response) {
  console.log(response);
});
val client = OkHttpClient()

val request = Request.Builder()
  .url("{{baseUrl}}/v1/userProfiles/:studentId/guardianInvitations/:invitationId")
  .get()
  .build()

val response = client.newCall(request).execute()
const http = require('https');

const options = {
  method: 'GET',
  hostname: 'example.com',
  port: null,
  path: '/baseUrl/v1/userProfiles/:studentId/guardianInvitations/:invitationId',
  headers: {}
};

const req = http.request(options, function (res) {
  const chunks = [];

  res.on('data', function (chunk) {
    chunks.push(chunk);
  });

  res.on('end', function () {
    const body = Buffer.concat(chunks);
    console.log(body.toString());
  });
});

req.end();
const request = require('request');

const options = {
  method: 'GET',
  url: '{{baseUrl}}/v1/userProfiles/:studentId/guardianInvitations/:invitationId'
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
const unirest = require('unirest');

const req = unirest('GET', '{{baseUrl}}/v1/userProfiles/:studentId/guardianInvitations/:invitationId');

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}}/v1/userProfiles/:studentId/guardianInvitations/:invitationId'
};

try {
  const { data } = await axios.request(options);
  console.log(data);
} catch (error) {
  console.error(error);
}
const fetch = require('node-fetch');

const url = '{{baseUrl}}/v1/userProfiles/:studentId/guardianInvitations/:invitationId';
const options = {method: 'GET'};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
#import 

NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"{{baseUrl}}/v1/userProfiles/:studentId/guardianInvitations/:invitationId"]
                                                       cachePolicy:NSURLRequestUseProtocolCachePolicy
                                                   timeoutInterval:10.0];
[request setHTTPMethod:@"GET"];

NSURLSession *session = [NSURLSession sharedSession];
NSURLSessionDataTask *dataTask = [session dataTaskWithRequest:request
                                            completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
                                                if (error) {
                                                    NSLog(@"%@", error);
                                                } else {
                                                    NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse *) response;
                                                    NSLog(@"%@", httpResponse);
                                                }
                                            }];
[dataTask resume];
open Cohttp_lwt_unix
open Cohttp
open Lwt

let uri = Uri.of_string "{{baseUrl}}/v1/userProfiles/:studentId/guardianInvitations/:invitationId" in

Client.call `GET uri
>>= fun (res, body_stream) ->
  (* Do stuff with the result *)
 "{{baseUrl}}/v1/userProfiles/:studentId/guardianInvitations/:invitationId",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "GET",
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
request('GET', '{{baseUrl}}/v1/userProfiles/:studentId/guardianInvitations/:invitationId');

echo $response->getBody();
setUrl('{{baseUrl}}/v1/userProfiles/:studentId/guardianInvitations/:invitationId');
$request->setMethod(HTTP_METH_GET);

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
setRequestUrl('{{baseUrl}}/v1/userProfiles/:studentId/guardianInvitations/:invitationId');
$request->setRequestMethod('GET');
$client->enqueue($request)->send();
$response = $client->getResponse();

echo $response->getBody();
$response = Invoke-WebRequest -Uri '{{baseUrl}}/v1/userProfiles/:studentId/guardianInvitations/:invitationId' -Method GET 
$response = Invoke-RestMethod -Uri '{{baseUrl}}/v1/userProfiles/:studentId/guardianInvitations/:invitationId' -Method GET 
import http.client

conn = http.client.HTTPSConnection("example.com")

conn.request("GET", "/baseUrl/v1/userProfiles/:studentId/guardianInvitations/:invitationId")

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))
import requests

url = "{{baseUrl}}/v1/userProfiles/:studentId/guardianInvitations/:invitationId"

response = requests.get(url)

print(response.json())
library(httr)

url <- "{{baseUrl}}/v1/userProfiles/:studentId/guardianInvitations/:invitationId"

response <- VERB("GET", url, content_type("application/octet-stream"))

content(response, "text")
require 'uri'
require 'net/http'

url = URI("{{baseUrl}}/v1/userProfiles/:studentId/guardianInvitations/:invitationId")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
require 'faraday'

conn = Faraday.new(
  url: 'https://example.com',
)

response = conn.get('/baseUrl/v1/userProfiles/:studentId/guardianInvitations/:invitationId') do |req|
end

puts response.status
puts response.body
use reqwest;

#[tokio::main]
pub async fn main() {
    let url = "{{baseUrl}}/v1/userProfiles/:studentId/guardianInvitations/:invitationId";

    let client = reqwest::Client::new();
    let response = client.get(url)
        .send()
        .await;

    let results = response.unwrap()
        .json::()
        .await
        .unwrap();

    dbg!(results);
}
curl --request GET \
  --url {{baseUrl}}/v1/userProfiles/:studentId/guardianInvitations/:invitationId
http GET {{baseUrl}}/v1/userProfiles/:studentId/guardianInvitations/:invitationId
wget --quiet \
  --method GET \
  --output-document \
  - {{baseUrl}}/v1/userProfiles/:studentId/guardianInvitations/:invitationId
import Foundation

let request = NSMutableURLRequest(url: NSURL(string: "{{baseUrl}}/v1/userProfiles/:studentId/guardianInvitations/:invitationId")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error as Any)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
GET classroom.userProfiles.guardianInvitations.list
{{baseUrl}}/v1/userProfiles/:studentId/guardianInvitations
QUERY PARAMS

studentId
Examples
REQUEST

CURL *hnd = curl_easy_init();

curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET");
curl_easy_setopt(hnd, CURLOPT_URL, "{{baseUrl}}/v1/userProfiles/:studentId/guardianInvitations");

CURLcode ret = curl_easy_perform(hnd);
(require '[clj-http.client :as client])

(client/get "{{baseUrl}}/v1/userProfiles/:studentId/guardianInvitations")
require "http/client"

url = "{{baseUrl}}/v1/userProfiles/:studentId/guardianInvitations"

response = HTTP::Client.get url
puts response.body
using System.Net.Http.Headers;
var client = new HttpClient();
var request = new HttpRequestMessage
{
    Method = HttpMethod.Get,
    RequestUri = new Uri("{{baseUrl}}/v1/userProfiles/:studentId/guardianInvitations"),
};
using (var response = await client.SendAsync(request))
{
    response.EnsureSuccessStatusCode();
    var body = await response.Content.ReadAsStringAsync();
    Console.WriteLine(body);
}
var client = new RestClient("{{baseUrl}}/v1/userProfiles/:studentId/guardianInvitations");
var request = new RestRequest("", Method.Get);
var response = client.Execute(request);
package main

import (
	"fmt"
	"net/http"
	"io"
)

func main() {

	url := "{{baseUrl}}/v1/userProfiles/:studentId/guardianInvitations"

	req, _ := http.NewRequest("GET", url, nil)

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
GET /baseUrl/v1/userProfiles/:studentId/guardianInvitations HTTP/1.1
Host: example.com

AsyncHttpClient client = new DefaultAsyncHttpClient();
client.prepare("GET", "{{baseUrl}}/v1/userProfiles/:studentId/guardianInvitations")
  .execute()
  .toCompletableFuture()
  .thenAccept(System.out::println)
  .join();

client.close();
HttpRequest request = HttpRequest.newBuilder()
    .uri(URI.create("{{baseUrl}}/v1/userProfiles/:studentId/guardianInvitations"))
    .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}}/v1/userProfiles/:studentId/guardianInvitations")
  .get()
  .build();

Response response = client.newCall(request).execute();
HttpResponse response = Unirest.get("{{baseUrl}}/v1/userProfiles/:studentId/guardianInvitations")
  .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}}/v1/userProfiles/:studentId/guardianInvitations');

xhr.send(data);
import axios from 'axios';

const options = {
  method: 'GET',
  url: '{{baseUrl}}/v1/userProfiles/:studentId/guardianInvitations'
};

try {
  const { data } = await axios.request(options);
  console.log(data);
} catch (error) {
  console.error(error);
}
const url = '{{baseUrl}}/v1/userProfiles/:studentId/guardianInvitations';
const options = {method: 'GET'};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
const settings = {
  async: true,
  crossDomain: true,
  url: '{{baseUrl}}/v1/userProfiles/:studentId/guardianInvitations',
  method: 'GET',
  headers: {}
};

$.ajax(settings).done(function (response) {
  console.log(response);
});
val client = OkHttpClient()

val request = Request.Builder()
  .url("{{baseUrl}}/v1/userProfiles/:studentId/guardianInvitations")
  .get()
  .build()

val response = client.newCall(request).execute()
const http = require('https');

const options = {
  method: 'GET',
  hostname: 'example.com',
  port: null,
  path: '/baseUrl/v1/userProfiles/:studentId/guardianInvitations',
  headers: {}
};

const req = http.request(options, function (res) {
  const chunks = [];

  res.on('data', function (chunk) {
    chunks.push(chunk);
  });

  res.on('end', function () {
    const body = Buffer.concat(chunks);
    console.log(body.toString());
  });
});

req.end();
const request = require('request');

const options = {
  method: 'GET',
  url: '{{baseUrl}}/v1/userProfiles/:studentId/guardianInvitations'
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
const unirest = require('unirest');

const req = unirest('GET', '{{baseUrl}}/v1/userProfiles/:studentId/guardianInvitations');

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}}/v1/userProfiles/:studentId/guardianInvitations'
};

try {
  const { data } = await axios.request(options);
  console.log(data);
} catch (error) {
  console.error(error);
}
const fetch = require('node-fetch');

const url = '{{baseUrl}}/v1/userProfiles/:studentId/guardianInvitations';
const options = {method: 'GET'};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
#import 

NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"{{baseUrl}}/v1/userProfiles/:studentId/guardianInvitations"]
                                                       cachePolicy:NSURLRequestUseProtocolCachePolicy
                                                   timeoutInterval:10.0];
[request setHTTPMethod:@"GET"];

NSURLSession *session = [NSURLSession sharedSession];
NSURLSessionDataTask *dataTask = [session dataTaskWithRequest:request
                                            completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
                                                if (error) {
                                                    NSLog(@"%@", error);
                                                } else {
                                                    NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse *) response;
                                                    NSLog(@"%@", httpResponse);
                                                }
                                            }];
[dataTask resume];
open Cohttp_lwt_unix
open Cohttp
open Lwt

let uri = Uri.of_string "{{baseUrl}}/v1/userProfiles/:studentId/guardianInvitations" in

Client.call `GET uri
>>= fun (res, body_stream) ->
  (* Do stuff with the result *)
 "{{baseUrl}}/v1/userProfiles/:studentId/guardianInvitations",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "GET",
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
request('GET', '{{baseUrl}}/v1/userProfiles/:studentId/guardianInvitations');

echo $response->getBody();
setUrl('{{baseUrl}}/v1/userProfiles/:studentId/guardianInvitations');
$request->setMethod(HTTP_METH_GET);

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
setRequestUrl('{{baseUrl}}/v1/userProfiles/:studentId/guardianInvitations');
$request->setRequestMethod('GET');
$client->enqueue($request)->send();
$response = $client->getResponse();

echo $response->getBody();
$response = Invoke-WebRequest -Uri '{{baseUrl}}/v1/userProfiles/:studentId/guardianInvitations' -Method GET 
$response = Invoke-RestMethod -Uri '{{baseUrl}}/v1/userProfiles/:studentId/guardianInvitations' -Method GET 
import http.client

conn = http.client.HTTPSConnection("example.com")

conn.request("GET", "/baseUrl/v1/userProfiles/:studentId/guardianInvitations")

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))
import requests

url = "{{baseUrl}}/v1/userProfiles/:studentId/guardianInvitations"

response = requests.get(url)

print(response.json())
library(httr)

url <- "{{baseUrl}}/v1/userProfiles/:studentId/guardianInvitations"

response <- VERB("GET", url, content_type("application/octet-stream"))

content(response, "text")
require 'uri'
require 'net/http'

url = URI("{{baseUrl}}/v1/userProfiles/:studentId/guardianInvitations")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
require 'faraday'

conn = Faraday.new(
  url: 'https://example.com',
)

response = conn.get('/baseUrl/v1/userProfiles/:studentId/guardianInvitations') do |req|
end

puts response.status
puts response.body
use reqwest;

#[tokio::main]
pub async fn main() {
    let url = "{{baseUrl}}/v1/userProfiles/:studentId/guardianInvitations";

    let client = reqwest::Client::new();
    let response = client.get(url)
        .send()
        .await;

    let results = response.unwrap()
        .json::()
        .await
        .unwrap();

    dbg!(results);
}
curl --request GET \
  --url {{baseUrl}}/v1/userProfiles/:studentId/guardianInvitations
http GET {{baseUrl}}/v1/userProfiles/:studentId/guardianInvitations
wget --quiet \
  --method GET \
  --output-document \
  - {{baseUrl}}/v1/userProfiles/:studentId/guardianInvitations
import Foundation

let request = NSMutableURLRequest(url: NSURL(string: "{{baseUrl}}/v1/userProfiles/:studentId/guardianInvitations")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error as Any)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
PATCH classroom.userProfiles.guardianInvitations.patch
{{baseUrl}}/v1/userProfiles/:studentId/guardianInvitations/:invitationId
QUERY PARAMS

studentId
invitationId
BODY json

{
  "creationTime": "",
  "invitationId": "",
  "invitedEmailAddress": "",
  "state": "",
  "studentId": ""
}
Examples
REQUEST

CURL *hnd = curl_easy_init();

curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "PATCH");
curl_easy_setopt(hnd, CURLOPT_URL, "{{baseUrl}}/v1/userProfiles/:studentId/guardianInvitations/:invitationId");

struct curl_slist *headers = NULL;
headers = curl_slist_append(headers, "content-type: application/json");
curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers);

curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\n  \"creationTime\": \"\",\n  \"invitationId\": \"\",\n  \"invitedEmailAddress\": \"\",\n  \"state\": \"\",\n  \"studentId\": \"\"\n}");

CURLcode ret = curl_easy_perform(hnd);
(require '[clj-http.client :as client])

(client/patch "{{baseUrl}}/v1/userProfiles/:studentId/guardianInvitations/:invitationId" {:content-type :json
                                                                                                          :form-params {:creationTime ""
                                                                                                                        :invitationId ""
                                                                                                                        :invitedEmailAddress ""
                                                                                                                        :state ""
                                                                                                                        :studentId ""}})
require "http/client"

url = "{{baseUrl}}/v1/userProfiles/:studentId/guardianInvitations/:invitationId"
headers = HTTP::Headers{
  "content-type" => "application/json"
}
reqBody = "{\n  \"creationTime\": \"\",\n  \"invitationId\": \"\",\n  \"invitedEmailAddress\": \"\",\n  \"state\": \"\",\n  \"studentId\": \"\"\n}"

response = HTTP::Client.patch url, headers: headers, body: reqBody
puts response.body
using System.Net.Http.Headers;
var client = new HttpClient();
var request = new HttpRequestMessage
{
    Method = HttpMethod.Patch,
    RequestUri = new Uri("{{baseUrl}}/v1/userProfiles/:studentId/guardianInvitations/:invitationId"),
    Content = new StringContent("{\n  \"creationTime\": \"\",\n  \"invitationId\": \"\",\n  \"invitedEmailAddress\": \"\",\n  \"state\": \"\",\n  \"studentId\": \"\"\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}}/v1/userProfiles/:studentId/guardianInvitations/:invitationId");
var request = new RestRequest("", Method.Patch);
request.AddHeader("content-type", "application/json");
request.AddParameter("application/json", "{\n  \"creationTime\": \"\",\n  \"invitationId\": \"\",\n  \"invitedEmailAddress\": \"\",\n  \"state\": \"\",\n  \"studentId\": \"\"\n}", ParameterType.RequestBody);
var response = client.Execute(request);
package main

import (
	"fmt"
	"strings"
	"net/http"
	"io"
)

func main() {

	url := "{{baseUrl}}/v1/userProfiles/:studentId/guardianInvitations/:invitationId"

	payload := strings.NewReader("{\n  \"creationTime\": \"\",\n  \"invitationId\": \"\",\n  \"invitedEmailAddress\": \"\",\n  \"state\": \"\",\n  \"studentId\": \"\"\n}")

	req, _ := http.NewRequest("PATCH", url, payload)

	req.Header.Add("content-type", "application/json")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
PATCH /baseUrl/v1/userProfiles/:studentId/guardianInvitations/:invitationId HTTP/1.1
Content-Type: application/json
Host: example.com
Content-Length: 109

{
  "creationTime": "",
  "invitationId": "",
  "invitedEmailAddress": "",
  "state": "",
  "studentId": ""
}
AsyncHttpClient client = new DefaultAsyncHttpClient();
client.prepare("PATCH", "{{baseUrl}}/v1/userProfiles/:studentId/guardianInvitations/:invitationId")
  .setHeader("content-type", "application/json")
  .setBody("{\n  \"creationTime\": \"\",\n  \"invitationId\": \"\",\n  \"invitedEmailAddress\": \"\",\n  \"state\": \"\",\n  \"studentId\": \"\"\n}")
  .execute()
  .toCompletableFuture()
  .thenAccept(System.out::println)
  .join();

client.close();
HttpRequest request = HttpRequest.newBuilder()
    .uri(URI.create("{{baseUrl}}/v1/userProfiles/:studentId/guardianInvitations/:invitationId"))
    .header("content-type", "application/json")
    .method("PATCH", HttpRequest.BodyPublishers.ofString("{\n  \"creationTime\": \"\",\n  \"invitationId\": \"\",\n  \"invitedEmailAddress\": \"\",\n  \"state\": \"\",\n  \"studentId\": \"\"\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  \"creationTime\": \"\",\n  \"invitationId\": \"\",\n  \"invitedEmailAddress\": \"\",\n  \"state\": \"\",\n  \"studentId\": \"\"\n}");
Request request = new Request.Builder()
  .url("{{baseUrl}}/v1/userProfiles/:studentId/guardianInvitations/:invitationId")
  .patch(body)
  .addHeader("content-type", "application/json")
  .build();

Response response = client.newCall(request).execute();
HttpResponse response = Unirest.patch("{{baseUrl}}/v1/userProfiles/:studentId/guardianInvitations/:invitationId")
  .header("content-type", "application/json")
  .body("{\n  \"creationTime\": \"\",\n  \"invitationId\": \"\",\n  \"invitedEmailAddress\": \"\",\n  \"state\": \"\",\n  \"studentId\": \"\"\n}")
  .asString();
const data = JSON.stringify({
  creationTime: '',
  invitationId: '',
  invitedEmailAddress: '',
  state: '',
  studentId: ''
});

const xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener('readystatechange', function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open('PATCH', '{{baseUrl}}/v1/userProfiles/:studentId/guardianInvitations/:invitationId');
xhr.setRequestHeader('content-type', 'application/json');

xhr.send(data);
import axios from 'axios';

const options = {
  method: 'PATCH',
  url: '{{baseUrl}}/v1/userProfiles/:studentId/guardianInvitations/:invitationId',
  headers: {'content-type': 'application/json'},
  data: {
    creationTime: '',
    invitationId: '',
    invitedEmailAddress: '',
    state: '',
    studentId: ''
  }
};

try {
  const { data } = await axios.request(options);
  console.log(data);
} catch (error) {
  console.error(error);
}
const url = '{{baseUrl}}/v1/userProfiles/:studentId/guardianInvitations/:invitationId';
const options = {
  method: 'PATCH',
  headers: {'content-type': 'application/json'},
  body: '{"creationTime":"","invitationId":"","invitedEmailAddress":"","state":"","studentId":""}'
};

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}}/v1/userProfiles/:studentId/guardianInvitations/:invitationId',
  method: 'PATCH',
  headers: {
    'content-type': 'application/json'
  },
  processData: false,
  data: '{\n  "creationTime": "",\n  "invitationId": "",\n  "invitedEmailAddress": "",\n  "state": "",\n  "studentId": ""\n}'
};

$.ajax(settings).done(function (response) {
  console.log(response);
});
val client = OkHttpClient()

val mediaType = MediaType.parse("application/json")
val body = RequestBody.create(mediaType, "{\n  \"creationTime\": \"\",\n  \"invitationId\": \"\",\n  \"invitedEmailAddress\": \"\",\n  \"state\": \"\",\n  \"studentId\": \"\"\n}")
val request = Request.Builder()
  .url("{{baseUrl}}/v1/userProfiles/:studentId/guardianInvitations/:invitationId")
  .patch(body)
  .addHeader("content-type", "application/json")
  .build()

val response = client.newCall(request).execute()
const http = require('https');

const options = {
  method: 'PATCH',
  hostname: 'example.com',
  port: null,
  path: '/baseUrl/v1/userProfiles/:studentId/guardianInvitations/:invitationId',
  headers: {
    'content-type': 'application/json'
  }
};

const req = http.request(options, function (res) {
  const chunks = [];

  res.on('data', function (chunk) {
    chunks.push(chunk);
  });

  res.on('end', function () {
    const body = Buffer.concat(chunks);
    console.log(body.toString());
  });
});

req.write(JSON.stringify({
  creationTime: '',
  invitationId: '',
  invitedEmailAddress: '',
  state: '',
  studentId: ''
}));
req.end();
const request = require('request');

const options = {
  method: 'PATCH',
  url: '{{baseUrl}}/v1/userProfiles/:studentId/guardianInvitations/:invitationId',
  headers: {'content-type': 'application/json'},
  body: {
    creationTime: '',
    invitationId: '',
    invitedEmailAddress: '',
    state: '',
    studentId: ''
  },
  json: true
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
const unirest = require('unirest');

const req = unirest('PATCH', '{{baseUrl}}/v1/userProfiles/:studentId/guardianInvitations/:invitationId');

req.headers({
  'content-type': 'application/json'
});

req.type('json');
req.send({
  creationTime: '',
  invitationId: '',
  invitedEmailAddress: '',
  state: '',
  studentId: ''
});

req.end(function (res) {
  if (res.error) throw new Error(res.error);

  console.log(res.body);
});
const axios = require('axios').default;

const options = {
  method: 'PATCH',
  url: '{{baseUrl}}/v1/userProfiles/:studentId/guardianInvitations/:invitationId',
  headers: {'content-type': 'application/json'},
  data: {
    creationTime: '',
    invitationId: '',
    invitedEmailAddress: '',
    state: '',
    studentId: ''
  }
};

try {
  const { data } = await axios.request(options);
  console.log(data);
} catch (error) {
  console.error(error);
}
const fetch = require('node-fetch');

const url = '{{baseUrl}}/v1/userProfiles/:studentId/guardianInvitations/:invitationId';
const options = {
  method: 'PATCH',
  headers: {'content-type': 'application/json'},
  body: '{"creationTime":"","invitationId":"","invitedEmailAddress":"","state":"","studentId":""}'
};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
#import 

NSDictionary *headers = @{ @"content-type": @"application/json" };
NSDictionary *parameters = @{ @"creationTime": @"",
                              @"invitationId": @"",
                              @"invitedEmailAddress": @"",
                              @"state": @"",
                              @"studentId": @"" };

NSData *postData = [NSJSONSerialization dataWithJSONObject:parameters options:0 error:nil];

NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"{{baseUrl}}/v1/userProfiles/:studentId/guardianInvitations/:invitationId"]
                                                       cachePolicy:NSURLRequestUseProtocolCachePolicy
                                                   timeoutInterval:10.0];
[request setHTTPMethod:@"PATCH"];
[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}}/v1/userProfiles/:studentId/guardianInvitations/:invitationId" in
let headers = Header.add (Header.init ()) "content-type" "application/json" in
let body = Cohttp_lwt_body.of_string "{\n  \"creationTime\": \"\",\n  \"invitationId\": \"\",\n  \"invitedEmailAddress\": \"\",\n  \"state\": \"\",\n  \"studentId\": \"\"\n}" in

Client.call ~headers ~body `PATCH uri
>>= fun (res, body_stream) ->
  (* Do stuff with the result *)
 "{{baseUrl}}/v1/userProfiles/:studentId/guardianInvitations/:invitationId",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "PATCH",
  CURLOPT_POSTFIELDS => json_encode([
    'creationTime' => '',
    'invitationId' => '',
    'invitedEmailAddress' => '',
    'state' => '',
    'studentId' => ''
  ]),
  CURLOPT_HTTPHEADER => [
    "content-type: application/json"
  ],
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
request('PATCH', '{{baseUrl}}/v1/userProfiles/:studentId/guardianInvitations/:invitationId', [
  'body' => '{
  "creationTime": "",
  "invitationId": "",
  "invitedEmailAddress": "",
  "state": "",
  "studentId": ""
}',
  'headers' => [
    'content-type' => 'application/json',
  ],
]);

echo $response->getBody();
setUrl('{{baseUrl}}/v1/userProfiles/:studentId/guardianInvitations/:invitationId');
$request->setMethod(HttpRequest::HTTP_METH_PATCH);

$request->setHeaders([
  'content-type' => 'application/json'
]);

$request->setContentType('application/json');
$request->setBody(json_encode([
  'creationTime' => '',
  'invitationId' => '',
  'invitedEmailAddress' => '',
  'state' => '',
  'studentId' => ''
]));

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
append(json_encode([
  'creationTime' => '',
  'invitationId' => '',
  'invitedEmailAddress' => '',
  'state' => '',
  'studentId' => ''
]));
$request->setRequestUrl('{{baseUrl}}/v1/userProfiles/:studentId/guardianInvitations/:invitationId');
$request->setRequestMethod('PATCH');
$request->setBody($body);

$request->setHeaders([
  'content-type' => 'application/json'
]);

$client->enqueue($request)->send();
$response = $client->getResponse();

echo $response->getBody();
$headers=@{}
$headers.Add("content-type", "application/json")
$response = Invoke-WebRequest -Uri '{{baseUrl}}/v1/userProfiles/:studentId/guardianInvitations/:invitationId' -Method PATCH -Headers $headers -ContentType 'application/json' -Body '{
  "creationTime": "",
  "invitationId": "",
  "invitedEmailAddress": "",
  "state": "",
  "studentId": ""
}'
$headers=@{}
$headers.Add("content-type", "application/json")
$response = Invoke-RestMethod -Uri '{{baseUrl}}/v1/userProfiles/:studentId/guardianInvitations/:invitationId' -Method PATCH -Headers $headers -ContentType 'application/json' -Body '{
  "creationTime": "",
  "invitationId": "",
  "invitedEmailAddress": "",
  "state": "",
  "studentId": ""
}'
import http.client

conn = http.client.HTTPSConnection("example.com")

payload = "{\n  \"creationTime\": \"\",\n  \"invitationId\": \"\",\n  \"invitedEmailAddress\": \"\",\n  \"state\": \"\",\n  \"studentId\": \"\"\n}"

headers = { 'content-type': "application/json" }

conn.request("PATCH", "/baseUrl/v1/userProfiles/:studentId/guardianInvitations/:invitationId", payload, headers)

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))
import requests

url = "{{baseUrl}}/v1/userProfiles/:studentId/guardianInvitations/:invitationId"

payload = {
    "creationTime": "",
    "invitationId": "",
    "invitedEmailAddress": "",
    "state": "",
    "studentId": ""
}
headers = {"content-type": "application/json"}

response = requests.patch(url, json=payload, headers=headers)

print(response.json())
library(httr)

url <- "{{baseUrl}}/v1/userProfiles/:studentId/guardianInvitations/:invitationId"

payload <- "{\n  \"creationTime\": \"\",\n  \"invitationId\": \"\",\n  \"invitedEmailAddress\": \"\",\n  \"state\": \"\",\n  \"studentId\": \"\"\n}"

encode <- "json"

response <- VERB("PATCH", url, body = payload, content_type("application/json"), encode = encode)

content(response, "text")
require 'uri'
require 'net/http'

url = URI("{{baseUrl}}/v1/userProfiles/:studentId/guardianInvitations/:invitationId")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Patch.new(url)
request["content-type"] = 'application/json'
request.body = "{\n  \"creationTime\": \"\",\n  \"invitationId\": \"\",\n  \"invitedEmailAddress\": \"\",\n  \"state\": \"\",\n  \"studentId\": \"\"\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.patch('/baseUrl/v1/userProfiles/:studentId/guardianInvitations/:invitationId') do |req|
  req.body = "{\n  \"creationTime\": \"\",\n  \"invitationId\": \"\",\n  \"invitedEmailAddress\": \"\",\n  \"state\": \"\",\n  \"studentId\": \"\"\n}"
end

puts response.status
puts response.body
use std::str::FromStr;
use serde_json::json;
use reqwest;

#[tokio::main]
pub async fn main() {
    let url = "{{baseUrl}}/v1/userProfiles/:studentId/guardianInvitations/:invitationId";

    let payload = json!({
        "creationTime": "",
        "invitationId": "",
        "invitedEmailAddress": "",
        "state": "",
        "studentId": ""
    });

    let mut headers = reqwest::header::HeaderMap::new();
    headers.insert("content-type", "application/json".parse().unwrap());

    let client = reqwest::Client::new();
    let response = client.request(reqwest::Method::from_str("PATCH").unwrap(), url)
        .headers(headers)
        .json(&payload)
        .send()
        .await;

    let results = response.unwrap()
        .json::()
        .await
        .unwrap();

    dbg!(results);
}
curl --request PATCH \
  --url {{baseUrl}}/v1/userProfiles/:studentId/guardianInvitations/:invitationId \
  --header 'content-type: application/json' \
  --data '{
  "creationTime": "",
  "invitationId": "",
  "invitedEmailAddress": "",
  "state": "",
  "studentId": ""
}'
echo '{
  "creationTime": "",
  "invitationId": "",
  "invitedEmailAddress": "",
  "state": "",
  "studentId": ""
}' |  \
  http PATCH {{baseUrl}}/v1/userProfiles/:studentId/guardianInvitations/:invitationId \
  content-type:application/json
wget --quiet \
  --method PATCH \
  --header 'content-type: application/json' \
  --body-data '{\n  "creationTime": "",\n  "invitationId": "",\n  "invitedEmailAddress": "",\n  "state": "",\n  "studentId": ""\n}' \
  --output-document \
  - {{baseUrl}}/v1/userProfiles/:studentId/guardianInvitations/:invitationId
import Foundation

let headers = ["content-type": "application/json"]
let parameters = [
  "creationTime": "",
  "invitationId": "",
  "invitedEmailAddress": "",
  "state": "",
  "studentId": ""
] as [String : Any]

let postData = JSONSerialization.data(withJSONObject: parameters, options: [])

let request = NSMutableURLRequest(url: NSURL(string: "{{baseUrl}}/v1/userProfiles/:studentId/guardianInvitations/:invitationId")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "PATCH"
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()
DELETE classroom.userProfiles.guardians.delete
{{baseUrl}}/v1/userProfiles/:studentId/guardians/:guardianId
QUERY PARAMS

studentId
guardianId
Examples
REQUEST

CURL *hnd = curl_easy_init();

curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "DELETE");
curl_easy_setopt(hnd, CURLOPT_URL, "{{baseUrl}}/v1/userProfiles/:studentId/guardians/:guardianId");

CURLcode ret = curl_easy_perform(hnd);
(require '[clj-http.client :as client])

(client/delete "{{baseUrl}}/v1/userProfiles/:studentId/guardians/:guardianId")
require "http/client"

url = "{{baseUrl}}/v1/userProfiles/:studentId/guardians/:guardianId"

response = HTTP::Client.delete url
puts response.body
using System.Net.Http.Headers;
var client = new HttpClient();
var request = new HttpRequestMessage
{
    Method = HttpMethod.Delete,
    RequestUri = new Uri("{{baseUrl}}/v1/userProfiles/:studentId/guardians/:guardianId"),
};
using (var response = await client.SendAsync(request))
{
    response.EnsureSuccessStatusCode();
    var body = await response.Content.ReadAsStringAsync();
    Console.WriteLine(body);
}
var client = new RestClient("{{baseUrl}}/v1/userProfiles/:studentId/guardians/:guardianId");
var request = new RestRequest("", Method.Delete);
var response = client.Execute(request);
package main

import (
	"fmt"
	"net/http"
	"io"
)

func main() {

	url := "{{baseUrl}}/v1/userProfiles/:studentId/guardians/:guardianId"

	req, _ := http.NewRequest("DELETE", url, nil)

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
DELETE /baseUrl/v1/userProfiles/:studentId/guardians/:guardianId HTTP/1.1
Host: example.com

AsyncHttpClient client = new DefaultAsyncHttpClient();
client.prepare("DELETE", "{{baseUrl}}/v1/userProfiles/:studentId/guardians/:guardianId")
  .execute()
  .toCompletableFuture()
  .thenAccept(System.out::println)
  .join();

client.close();
HttpRequest request = HttpRequest.newBuilder()
    .uri(URI.create("{{baseUrl}}/v1/userProfiles/:studentId/guardians/:guardianId"))
    .method("DELETE", 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}}/v1/userProfiles/:studentId/guardians/:guardianId")
  .delete(null)
  .build();

Response response = client.newCall(request).execute();
HttpResponse response = Unirest.delete("{{baseUrl}}/v1/userProfiles/:studentId/guardians/:guardianId")
  .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('DELETE', '{{baseUrl}}/v1/userProfiles/:studentId/guardians/:guardianId');

xhr.send(data);
import axios from 'axios';

const options = {
  method: 'DELETE',
  url: '{{baseUrl}}/v1/userProfiles/:studentId/guardians/:guardianId'
};

try {
  const { data } = await axios.request(options);
  console.log(data);
} catch (error) {
  console.error(error);
}
const url = '{{baseUrl}}/v1/userProfiles/:studentId/guardians/:guardianId';
const options = {method: 'DELETE'};

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}}/v1/userProfiles/:studentId/guardians/:guardianId',
  method: 'DELETE',
  headers: {}
};

$.ajax(settings).done(function (response) {
  console.log(response);
});
val client = OkHttpClient()

val request = Request.Builder()
  .url("{{baseUrl}}/v1/userProfiles/:studentId/guardians/:guardianId")
  .delete(null)
  .build()

val response = client.newCall(request).execute()
const http = require('https');

const options = {
  method: 'DELETE',
  hostname: 'example.com',
  port: null,
  path: '/baseUrl/v1/userProfiles/:studentId/guardians/:guardianId',
  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: 'DELETE',
  url: '{{baseUrl}}/v1/userProfiles/:studentId/guardians/:guardianId'
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
const unirest = require('unirest');

const req = unirest('DELETE', '{{baseUrl}}/v1/userProfiles/:studentId/guardians/:guardianId');

req.end(function (res) {
  if (res.error) throw new Error(res.error);

  console.log(res.body);
});
const axios = require('axios').default;

const options = {
  method: 'DELETE',
  url: '{{baseUrl}}/v1/userProfiles/:studentId/guardians/:guardianId'
};

try {
  const { data } = await axios.request(options);
  console.log(data);
} catch (error) {
  console.error(error);
}
const fetch = require('node-fetch');

const url = '{{baseUrl}}/v1/userProfiles/:studentId/guardians/:guardianId';
const options = {method: 'DELETE'};

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}}/v1/userProfiles/:studentId/guardians/:guardianId"]
                                                       cachePolicy:NSURLRequestUseProtocolCachePolicy
                                                   timeoutInterval:10.0];
[request setHTTPMethod:@"DELETE"];

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}}/v1/userProfiles/:studentId/guardians/:guardianId" in

Client.call `DELETE uri
>>= fun (res, body_stream) ->
  (* Do stuff with the result *)
 "{{baseUrl}}/v1/userProfiles/:studentId/guardians/:guardianId",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "DELETE",
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
request('DELETE', '{{baseUrl}}/v1/userProfiles/:studentId/guardians/:guardianId');

echo $response->getBody();
setUrl('{{baseUrl}}/v1/userProfiles/:studentId/guardians/:guardianId');
$request->setMethod(HTTP_METH_DELETE);

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
setRequestUrl('{{baseUrl}}/v1/userProfiles/:studentId/guardians/:guardianId');
$request->setRequestMethod('DELETE');
$client->enqueue($request)->send();
$response = $client->getResponse();

echo $response->getBody();
$response = Invoke-WebRequest -Uri '{{baseUrl}}/v1/userProfiles/:studentId/guardians/:guardianId' -Method DELETE 
$response = Invoke-RestMethod -Uri '{{baseUrl}}/v1/userProfiles/:studentId/guardians/:guardianId' -Method DELETE 
import http.client

conn = http.client.HTTPSConnection("example.com")

conn.request("DELETE", "/baseUrl/v1/userProfiles/:studentId/guardians/:guardianId")

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))
import requests

url = "{{baseUrl}}/v1/userProfiles/:studentId/guardians/:guardianId"

response = requests.delete(url)

print(response.json())
library(httr)

url <- "{{baseUrl}}/v1/userProfiles/:studentId/guardians/:guardianId"

response <- VERB("DELETE", url, content_type("application/octet-stream"))

content(response, "text")
require 'uri'
require 'net/http'

url = URI("{{baseUrl}}/v1/userProfiles/:studentId/guardians/:guardianId")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Delete.new(url)

response = http.request(request)
puts response.read_body
require 'faraday'

conn = Faraday.new(
  url: 'https://example.com',
)

response = conn.delete('/baseUrl/v1/userProfiles/:studentId/guardians/:guardianId') do |req|
end

puts response.status
puts response.body
use std::str::FromStr;
use reqwest;

#[tokio::main]
pub async fn main() {
    let url = "{{baseUrl}}/v1/userProfiles/:studentId/guardians/:guardianId";

    let client = reqwest::Client::new();
    let response = client.request(reqwest::Method::from_str("DELETE").unwrap(), url)
        .send()
        .await;

    let results = response.unwrap()
        .json::()
        .await
        .unwrap();

    dbg!(results);
}
curl --request DELETE \
  --url {{baseUrl}}/v1/userProfiles/:studentId/guardians/:guardianId
http DELETE {{baseUrl}}/v1/userProfiles/:studentId/guardians/:guardianId
wget --quiet \
  --method DELETE \
  --output-document \
  - {{baseUrl}}/v1/userProfiles/:studentId/guardians/:guardianId
import Foundation

let request = NSMutableURLRequest(url: NSURL(string: "{{baseUrl}}/v1/userProfiles/:studentId/guardians/:guardianId")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "DELETE"

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 classroom.userProfiles.guardians.get
{{baseUrl}}/v1/userProfiles/:studentId/guardians/:guardianId
QUERY PARAMS

studentId
guardianId
Examples
REQUEST

CURL *hnd = curl_easy_init();

curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET");
curl_easy_setopt(hnd, CURLOPT_URL, "{{baseUrl}}/v1/userProfiles/:studentId/guardians/:guardianId");

CURLcode ret = curl_easy_perform(hnd);
(require '[clj-http.client :as client])

(client/get "{{baseUrl}}/v1/userProfiles/:studentId/guardians/:guardianId")
require "http/client"

url = "{{baseUrl}}/v1/userProfiles/:studentId/guardians/:guardianId"

response = HTTP::Client.get url
puts response.body
using System.Net.Http.Headers;
var client = new HttpClient();
var request = new HttpRequestMessage
{
    Method = HttpMethod.Get,
    RequestUri = new Uri("{{baseUrl}}/v1/userProfiles/:studentId/guardians/:guardianId"),
};
using (var response = await client.SendAsync(request))
{
    response.EnsureSuccessStatusCode();
    var body = await response.Content.ReadAsStringAsync();
    Console.WriteLine(body);
}
var client = new RestClient("{{baseUrl}}/v1/userProfiles/:studentId/guardians/:guardianId");
var request = new RestRequest("", Method.Get);
var response = client.Execute(request);
package main

import (
	"fmt"
	"net/http"
	"io"
)

func main() {

	url := "{{baseUrl}}/v1/userProfiles/:studentId/guardians/:guardianId"

	req, _ := http.NewRequest("GET", url, nil)

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
GET /baseUrl/v1/userProfiles/:studentId/guardians/:guardianId HTTP/1.1
Host: example.com

AsyncHttpClient client = new DefaultAsyncHttpClient();
client.prepare("GET", "{{baseUrl}}/v1/userProfiles/:studentId/guardians/:guardianId")
  .execute()
  .toCompletableFuture()
  .thenAccept(System.out::println)
  .join();

client.close();
HttpRequest request = HttpRequest.newBuilder()
    .uri(URI.create("{{baseUrl}}/v1/userProfiles/:studentId/guardians/:guardianId"))
    .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}}/v1/userProfiles/:studentId/guardians/:guardianId")
  .get()
  .build();

Response response = client.newCall(request).execute();
HttpResponse response = Unirest.get("{{baseUrl}}/v1/userProfiles/:studentId/guardians/:guardianId")
  .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}}/v1/userProfiles/:studentId/guardians/:guardianId');

xhr.send(data);
import axios from 'axios';

const options = {
  method: 'GET',
  url: '{{baseUrl}}/v1/userProfiles/:studentId/guardians/:guardianId'
};

try {
  const { data } = await axios.request(options);
  console.log(data);
} catch (error) {
  console.error(error);
}
const url = '{{baseUrl}}/v1/userProfiles/:studentId/guardians/:guardianId';
const options = {method: 'GET'};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
const settings = {
  async: true,
  crossDomain: true,
  url: '{{baseUrl}}/v1/userProfiles/:studentId/guardians/:guardianId',
  method: 'GET',
  headers: {}
};

$.ajax(settings).done(function (response) {
  console.log(response);
});
val client = OkHttpClient()

val request = Request.Builder()
  .url("{{baseUrl}}/v1/userProfiles/:studentId/guardians/:guardianId")
  .get()
  .build()

val response = client.newCall(request).execute()
const http = require('https');

const options = {
  method: 'GET',
  hostname: 'example.com',
  port: null,
  path: '/baseUrl/v1/userProfiles/:studentId/guardians/:guardianId',
  headers: {}
};

const req = http.request(options, function (res) {
  const chunks = [];

  res.on('data', function (chunk) {
    chunks.push(chunk);
  });

  res.on('end', function () {
    const body = Buffer.concat(chunks);
    console.log(body.toString());
  });
});

req.end();
const request = require('request');

const options = {
  method: 'GET',
  url: '{{baseUrl}}/v1/userProfiles/:studentId/guardians/:guardianId'
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
const unirest = require('unirest');

const req = unirest('GET', '{{baseUrl}}/v1/userProfiles/:studentId/guardians/:guardianId');

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}}/v1/userProfiles/:studentId/guardians/:guardianId'
};

try {
  const { data } = await axios.request(options);
  console.log(data);
} catch (error) {
  console.error(error);
}
const fetch = require('node-fetch');

const url = '{{baseUrl}}/v1/userProfiles/:studentId/guardians/:guardianId';
const options = {method: 'GET'};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
#import 

NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"{{baseUrl}}/v1/userProfiles/:studentId/guardians/:guardianId"]
                                                       cachePolicy:NSURLRequestUseProtocolCachePolicy
                                                   timeoutInterval:10.0];
[request setHTTPMethod:@"GET"];

NSURLSession *session = [NSURLSession sharedSession];
NSURLSessionDataTask *dataTask = [session dataTaskWithRequest:request
                                            completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
                                                if (error) {
                                                    NSLog(@"%@", error);
                                                } else {
                                                    NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse *) response;
                                                    NSLog(@"%@", httpResponse);
                                                }
                                            }];
[dataTask resume];
open Cohttp_lwt_unix
open Cohttp
open Lwt

let uri = Uri.of_string "{{baseUrl}}/v1/userProfiles/:studentId/guardians/:guardianId" in

Client.call `GET uri
>>= fun (res, body_stream) ->
  (* Do stuff with the result *)
 "{{baseUrl}}/v1/userProfiles/:studentId/guardians/:guardianId",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "GET",
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
request('GET', '{{baseUrl}}/v1/userProfiles/:studentId/guardians/:guardianId');

echo $response->getBody();
setUrl('{{baseUrl}}/v1/userProfiles/:studentId/guardians/:guardianId');
$request->setMethod(HTTP_METH_GET);

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
setRequestUrl('{{baseUrl}}/v1/userProfiles/:studentId/guardians/:guardianId');
$request->setRequestMethod('GET');
$client->enqueue($request)->send();
$response = $client->getResponse();

echo $response->getBody();
$response = Invoke-WebRequest -Uri '{{baseUrl}}/v1/userProfiles/:studentId/guardians/:guardianId' -Method GET 
$response = Invoke-RestMethod -Uri '{{baseUrl}}/v1/userProfiles/:studentId/guardians/:guardianId' -Method GET 
import http.client

conn = http.client.HTTPSConnection("example.com")

conn.request("GET", "/baseUrl/v1/userProfiles/:studentId/guardians/:guardianId")

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))
import requests

url = "{{baseUrl}}/v1/userProfiles/:studentId/guardians/:guardianId"

response = requests.get(url)

print(response.json())
library(httr)

url <- "{{baseUrl}}/v1/userProfiles/:studentId/guardians/:guardianId"

response <- VERB("GET", url, content_type("application/octet-stream"))

content(response, "text")
require 'uri'
require 'net/http'

url = URI("{{baseUrl}}/v1/userProfiles/:studentId/guardians/:guardianId")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
require 'faraday'

conn = Faraday.new(
  url: 'https://example.com',
)

response = conn.get('/baseUrl/v1/userProfiles/:studentId/guardians/:guardianId') do |req|
end

puts response.status
puts response.body
use reqwest;

#[tokio::main]
pub async fn main() {
    let url = "{{baseUrl}}/v1/userProfiles/:studentId/guardians/:guardianId";

    let client = reqwest::Client::new();
    let response = client.get(url)
        .send()
        .await;

    let results = response.unwrap()
        .json::()
        .await
        .unwrap();

    dbg!(results);
}
curl --request GET \
  --url {{baseUrl}}/v1/userProfiles/:studentId/guardians/:guardianId
http GET {{baseUrl}}/v1/userProfiles/:studentId/guardians/:guardianId
wget --quiet \
  --method GET \
  --output-document \
  - {{baseUrl}}/v1/userProfiles/:studentId/guardians/:guardianId
import Foundation

let request = NSMutableURLRequest(url: NSURL(string: "{{baseUrl}}/v1/userProfiles/:studentId/guardians/:guardianId")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error as Any)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
GET classroom.userProfiles.guardians.list
{{baseUrl}}/v1/userProfiles/:studentId/guardians
QUERY PARAMS

studentId
Examples
REQUEST

CURL *hnd = curl_easy_init();

curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET");
curl_easy_setopt(hnd, CURLOPT_URL, "{{baseUrl}}/v1/userProfiles/:studentId/guardians");

CURLcode ret = curl_easy_perform(hnd);
(require '[clj-http.client :as client])

(client/get "{{baseUrl}}/v1/userProfiles/:studentId/guardians")
require "http/client"

url = "{{baseUrl}}/v1/userProfiles/:studentId/guardians"

response = HTTP::Client.get url
puts response.body
using System.Net.Http.Headers;
var client = new HttpClient();
var request = new HttpRequestMessage
{
    Method = HttpMethod.Get,
    RequestUri = new Uri("{{baseUrl}}/v1/userProfiles/:studentId/guardians"),
};
using (var response = await client.SendAsync(request))
{
    response.EnsureSuccessStatusCode();
    var body = await response.Content.ReadAsStringAsync();
    Console.WriteLine(body);
}
var client = new RestClient("{{baseUrl}}/v1/userProfiles/:studentId/guardians");
var request = new RestRequest("", Method.Get);
var response = client.Execute(request);
package main

import (
	"fmt"
	"net/http"
	"io"
)

func main() {

	url := "{{baseUrl}}/v1/userProfiles/:studentId/guardians"

	req, _ := http.NewRequest("GET", url, nil)

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
GET /baseUrl/v1/userProfiles/:studentId/guardians HTTP/1.1
Host: example.com

AsyncHttpClient client = new DefaultAsyncHttpClient();
client.prepare("GET", "{{baseUrl}}/v1/userProfiles/:studentId/guardians")
  .execute()
  .toCompletableFuture()
  .thenAccept(System.out::println)
  .join();

client.close();
HttpRequest request = HttpRequest.newBuilder()
    .uri(URI.create("{{baseUrl}}/v1/userProfiles/:studentId/guardians"))
    .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}}/v1/userProfiles/:studentId/guardians")
  .get()
  .build();

Response response = client.newCall(request).execute();
HttpResponse response = Unirest.get("{{baseUrl}}/v1/userProfiles/:studentId/guardians")
  .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}}/v1/userProfiles/:studentId/guardians');

xhr.send(data);
import axios from 'axios';

const options = {
  method: 'GET',
  url: '{{baseUrl}}/v1/userProfiles/:studentId/guardians'
};

try {
  const { data } = await axios.request(options);
  console.log(data);
} catch (error) {
  console.error(error);
}
const url = '{{baseUrl}}/v1/userProfiles/:studentId/guardians';
const options = {method: 'GET'};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
const settings = {
  async: true,
  crossDomain: true,
  url: '{{baseUrl}}/v1/userProfiles/:studentId/guardians',
  method: 'GET',
  headers: {}
};

$.ajax(settings).done(function (response) {
  console.log(response);
});
val client = OkHttpClient()

val request = Request.Builder()
  .url("{{baseUrl}}/v1/userProfiles/:studentId/guardians")
  .get()
  .build()

val response = client.newCall(request).execute()
const http = require('https');

const options = {
  method: 'GET',
  hostname: 'example.com',
  port: null,
  path: '/baseUrl/v1/userProfiles/:studentId/guardians',
  headers: {}
};

const req = http.request(options, function (res) {
  const chunks = [];

  res.on('data', function (chunk) {
    chunks.push(chunk);
  });

  res.on('end', function () {
    const body = Buffer.concat(chunks);
    console.log(body.toString());
  });
});

req.end();
const request = require('request');

const options = {
  method: 'GET',
  url: '{{baseUrl}}/v1/userProfiles/:studentId/guardians'
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
const unirest = require('unirest');

const req = unirest('GET', '{{baseUrl}}/v1/userProfiles/:studentId/guardians');

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}}/v1/userProfiles/:studentId/guardians'
};

try {
  const { data } = await axios.request(options);
  console.log(data);
} catch (error) {
  console.error(error);
}
const fetch = require('node-fetch');

const url = '{{baseUrl}}/v1/userProfiles/:studentId/guardians';
const options = {method: 'GET'};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
#import 

NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"{{baseUrl}}/v1/userProfiles/:studentId/guardians"]
                                                       cachePolicy:NSURLRequestUseProtocolCachePolicy
                                                   timeoutInterval:10.0];
[request setHTTPMethod:@"GET"];

NSURLSession *session = [NSURLSession sharedSession];
NSURLSessionDataTask *dataTask = [session dataTaskWithRequest:request
                                            completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
                                                if (error) {
                                                    NSLog(@"%@", error);
                                                } else {
                                                    NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse *) response;
                                                    NSLog(@"%@", httpResponse);
                                                }
                                            }];
[dataTask resume];
open Cohttp_lwt_unix
open Cohttp
open Lwt

let uri = Uri.of_string "{{baseUrl}}/v1/userProfiles/:studentId/guardians" in

Client.call `GET uri
>>= fun (res, body_stream) ->
  (* Do stuff with the result *)
 "{{baseUrl}}/v1/userProfiles/:studentId/guardians",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "GET",
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
request('GET', '{{baseUrl}}/v1/userProfiles/:studentId/guardians');

echo $response->getBody();
setUrl('{{baseUrl}}/v1/userProfiles/:studentId/guardians');
$request->setMethod(HTTP_METH_GET);

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
setRequestUrl('{{baseUrl}}/v1/userProfiles/:studentId/guardians');
$request->setRequestMethod('GET');
$client->enqueue($request)->send();
$response = $client->getResponse();

echo $response->getBody();
$response = Invoke-WebRequest -Uri '{{baseUrl}}/v1/userProfiles/:studentId/guardians' -Method GET 
$response = Invoke-RestMethod -Uri '{{baseUrl}}/v1/userProfiles/:studentId/guardians' -Method GET 
import http.client

conn = http.client.HTTPSConnection("example.com")

conn.request("GET", "/baseUrl/v1/userProfiles/:studentId/guardians")

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))
import requests

url = "{{baseUrl}}/v1/userProfiles/:studentId/guardians"

response = requests.get(url)

print(response.json())
library(httr)

url <- "{{baseUrl}}/v1/userProfiles/:studentId/guardians"

response <- VERB("GET", url, content_type("application/octet-stream"))

content(response, "text")
require 'uri'
require 'net/http'

url = URI("{{baseUrl}}/v1/userProfiles/:studentId/guardians")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
require 'faraday'

conn = Faraday.new(
  url: 'https://example.com',
)

response = conn.get('/baseUrl/v1/userProfiles/:studentId/guardians') do |req|
end

puts response.status
puts response.body
use reqwest;

#[tokio::main]
pub async fn main() {
    let url = "{{baseUrl}}/v1/userProfiles/:studentId/guardians";

    let client = reqwest::Client::new();
    let response = client.get(url)
        .send()
        .await;

    let results = response.unwrap()
        .json::()
        .await
        .unwrap();

    dbg!(results);
}
curl --request GET \
  --url {{baseUrl}}/v1/userProfiles/:studentId/guardians
http GET {{baseUrl}}/v1/userProfiles/:studentId/guardians
wget --quiet \
  --method GET \
  --output-document \
  - {{baseUrl}}/v1/userProfiles/:studentId/guardians
import Foundation

let request = NSMutableURLRequest(url: NSURL(string: "{{baseUrl}}/v1/userProfiles/:studentId/guardians")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error as Any)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()