Users
Shorten User License
If the user already has access to the “Classroom” version up to a certain time, this shortens/revokes his/her access. If the ends is less than or equal to the current time, it revokes the enrollment and sets the end date to be the current time, else it just shortens the enrollment.
PUT
/api/users/{handle}/shorten-license
Authorization*
curl --request PUT \
--url https://codecombat.com/api/users/{handle}/shorten-license \
--header 'Authorization: <authorization>' \
--header 'Content-Type: application/json' \
--data '{
"ends": "<ends>"
}'
{
"_id": "string",
"email": "string",
"license": {
"active": "boolean",
"ends": "string"
},
"name": "string",
"oAuthIdentities": [
{
"id": "string",
"provider": "string"
}
],
"role": "string",
"slug": "string",
"stats": {
"concepts": "object",
"gamesCompleted": "number",
"playTime": "number"
},
"subscription": {
"active": "boolean",
"ends": "string"
}
}
url = `https://codecombat.com/api/users/${userID}/shorten-license`
json = { ends: new Date().toISOString() }
request.put({ url, json, auth }, (err, res) => {
console.log(res.body.license.active) // false
})
Authorizations
Authenticationheaderrequired
string
Basic authentication header of the form Basic <encoded-value>
, where <encoded-value>
is the base64-encoded string username:password
.
Path Parameters
handlerequired
string
The document's _id
or slug
.
Body
application/json
endsrequired
string
Response
200 - application/json
_id
string
email
string
license
object
name
string
oAuthIdentities
object[]
role
string
Usually either 'teacher' or 'student'
slug
string
stats
object
subscription
object
curl --request PUT \
--url https://codecombat.com/api/users/{handle}/shorten-license \
--header 'Authorization: <authorization>' \
--header 'Content-Type: application/json' \
--data '{
"ends": "<ends>"
}'
{
"_id": "string",
"email": "string",
"license": {
"active": "boolean",
"ends": "string"
},
"name": "string",
"oAuthIdentities": [
{
"id": "string",
"provider": "string"
}
],
"role": "string",
"slug": "string",
"stats": {
"concepts": "object",
"gamesCompleted": "number",
"playTime": "number"
},
"subscription": {
"active": "boolean",
"ends": "string"
}
}