Grant User License
curl --request PUT \
--url https://codecombat.com/api/users/{handle}/license \
--header 'Authorization: Basic <encoded-value>' \
--header 'Content-Type: application/json' \
--data '
{
"ends": "<string>"
}
'import requests
url = "https://codecombat.com/api/users/{handle}/license"
payload = { "ends": "<string>" }
headers = {
"Authorization": "Basic <encoded-value>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {Authorization: 'Basic <encoded-value>', 'Content-Type': 'application/json'},
body: JSON.stringify({ends: '<string>'})
};
fetch('https://codecombat.com/api/users/{handle}/license', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://codecombat.com/api/users/{handle}/license",
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([
'ends' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Basic <encoded-value>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://codecombat.com/api/users/{handle}/license"
payload := strings.NewReader("{\n \"ends\": \"<string>\"\n}")
req, _ := http.NewRequest("PUT", url, payload)
req.Header.Add("Authorization", "Basic <encoded-value>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.put("https://codecombat.com/api/users/{handle}/license")
.header("Authorization", "Basic <encoded-value>")
.header("Content-Type", "application/json")
.body("{\n \"ends\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://codecombat.com/api/users/{handle}/license")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["Authorization"] = 'Basic <encoded-value>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"ends\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"_id": "<string>",
"email": "<string>",
"name": "<string>",
"slug": "<string>",
"role": "<string>",
"stats": {
"gamesCompleted": 123,
"concepts": {},
"playTime": 123
},
"oAuthIdentities": [
{
"provider": "<string>",
"id": "<string>"
}
],
"subscription": {
"ends": "<string>",
"active": true
},
"license": {
"ends": "<string>",
"active": true
}
}Users
Grant User License
Grants a user access to the Classroom version up to a certain time. Sets their role to student.
PUT
/
users
/
{handle}
/
license
Grant User License
curl --request PUT \
--url https://codecombat.com/api/users/{handle}/license \
--header 'Authorization: Basic <encoded-value>' \
--header 'Content-Type: application/json' \
--data '
{
"ends": "<string>"
}
'import requests
url = "https://codecombat.com/api/users/{handle}/license"
payload = { "ends": "<string>" }
headers = {
"Authorization": "Basic <encoded-value>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {Authorization: 'Basic <encoded-value>', 'Content-Type': 'application/json'},
body: JSON.stringify({ends: '<string>'})
};
fetch('https://codecombat.com/api/users/{handle}/license', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://codecombat.com/api/users/{handle}/license",
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([
'ends' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Basic <encoded-value>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://codecombat.com/api/users/{handle}/license"
payload := strings.NewReader("{\n \"ends\": \"<string>\"\n}")
req, _ := http.NewRequest("PUT", url, payload)
req.Header.Add("Authorization", "Basic <encoded-value>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.put("https://codecombat.com/api/users/{handle}/license")
.header("Authorization", "Basic <encoded-value>")
.header("Content-Type", "application/json")
.body("{\n \"ends\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://codecombat.com/api/users/{handle}/license")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["Authorization"] = 'Basic <encoded-value>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"ends\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"_id": "<string>",
"email": "<string>",
"name": "<string>",
"slug": "<string>",
"role": "<string>",
"stats": {
"gamesCompleted": 123,
"concepts": {},
"playTime": 123
},
"oAuthIdentities": [
{
"provider": "<string>",
"id": "<string>"
}
],
"subscription": {
"ends": "<string>",
"active": true
},
"license": {
"ends": "<string>",
"active": true
}
}url = `https://codecombat.com/api/users/${userID}/license`
json = { ends: new Date('2017-01-01').toISOString() }
request.put({ url, json, auth }, (err, res) => {
console.log(res.body.license) // { ends: '2017-01-01T00:00:00.000Z', active: true }
})
Authorizations
Basic authentication header of the form Basic <encoded-value>, where <encoded-value> is the base64-encoded string username:password.
Path Parameters
The document's _id or slug.
Body
application/json
Response
200 - application/json
The affected user
Subset of properties listed here
Usually either 'teacher' or 'student'
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
⌘I
