Skip to content

Replace course settings

PUT
/api/v1/courses/{courseId}/settings
courseId
required
integer
>= 1
Example
123
If-Match
required
string
Example
"4"
Media typeapplication/json
CourseSettingsUpdateV1
object
schemaVersion
required
integer
slug
required
string
name
required
string
languages
required
Array<string>
highlightLanguages
required
Array<string>
courseConfigUrl
string | null
templates
required
CourseTemplateSettings
object
automaticExtensions
required
boolean
extensions
required
Array<string>
excludedPathSegments
required
Array<string>
listed
required
boolean
visibleTagSlugs
required
Array<string>
graders
required
Array<object>
CourseGrader
object
userId
required
integer
languages
required
Array<string>
feedbackTags
Array<string>
gradingTags
Array<string>
manualGradingExercises
required
Array<integer>
Example
{
"schemaVersion": 1,
"slug": "programming-1",
"name": "Programming 1",
"languages": [
"en",
"fi"
],
"highlightLanguages": [
"kotlin",
"python"
],
"courseConfigUrl": "https://plus.example.edu/courses/123/configure/",
"templates": {
"automaticExtensions": true,
"extensions": [],
"excludedPathSegments": [
".git",
"build",
"node_modules"
]
},
"listed": true,
"visibleTagSlugs": [
"english"
],
"graders": [
{
"userId": 456,
"languages": [
"en"
],
"feedbackTags": [
"english"
],
"gradingTags": [
"group-a"
]
}
],
"manualGradingExercises": [
10001
]
}

Updated course settings

Media typeapplication/json
CourseSettingsDocumentV1
object
revision
required
integer
schemaVersion
required
integer
courseId
required
integer
slug
required
string
name
required
string
languages
required
Array<string>
highlightLanguages
required
Array<string>
courseConfigUrl
string | null
templates
required
CourseTemplateSettings
object
automaticExtensions
required
boolean
extensions
required
Array<string>
excludedPathSegments
required
Array<string>
listed
required
boolean
visibleTagSlugs
required
Array<string>
graders
required
Array<object>
CourseGrader
object
userId
required
integer
languages
required
Array<string>
feedbackTags
Array<string>
gradingTags
Array<string>
manualGradingExercises
required
Array<integer>
tags
required
Array<object>
CourseTag
object
slug
required
string
name
required
string
description
required
string
color
required
string
fontWhite
required
boolean
ltiLoginUrl
string | null
Example
{
"revision": 4,
"schemaVersion": 1,
"courseId": 123,
"slug": "programming-1",
"name": "Programming 1",
"languages": [
"en",
"fi"
],
"highlightLanguages": [
"kotlin",
"python"
],
"courseConfigUrl": "https://plus.example.edu/courses/123/configure/",
"templates": {
"automaticExtensions": true,
"extensions": [],
"excludedPathSegments": [
".git",
"build",
"node_modules"
]
},
"listed": true,
"visibleTagSlugs": [
"english"
],
"graders": [
{
"userId": 456,
"languages": [
"en"
],
"feedbackTags": [
"english"
],
"gradingTags": [
"group-a"
]
}
],
"manualGradingExercises": [
10001
],
"tags": [
{
"slug": "english",
"name": "English",
"description": "Feedback in English",
"color": "#2563eb",
"fontWhite": true
},
{
"slug": "group-a",
"name": "Group A",
"description": "Assigned to group A",
"color": "#f59e0b",
"fontWhite": false
}
],
"ltiLoginUrl": "https://hanami.example.edu/lti/launch/123"
}
ETag
required
string
Example
"4"
X-Request-ID
required
string

Correlation identifier

Example
9cb32531-bab4-4e8e-8887-30dd0d170945

Bad Request

Media typeapplication/json
ApiErrorEnvelopeV1
object
error
required
ApiErrorV1
object
code
required
string
message
required
string
requestId
required
string
issues
Array<object>
ApiIssueV1
object
path
required
string
code
required
string
message
required
string
Example
{
"error": {
"code": "validation_failed",
"message": "Request validation failed",
"requestId": "9cb32531-bab4-4e8e-8887-30dd0d170945",
"issues": [
{
"path": "$.visibleTagSlugs",
"code": "invalid_value",
"message": "visible tag is unknown"
}
]
}
}
X-Request-ID
required
string

Correlation identifier

Example
9cb32531-bab4-4e8e-8887-30dd0d170945

Unauthorized

Media typeapplication/json
ApiErrorEnvelopeV1
object
error
required
ApiErrorV1
object
code
required
string
message
required
string
requestId
required
string
issues
Array<object>
ApiIssueV1
object
path
required
string
code
required
string
message
required
string
Example
{
"error": {
"code": "invalid_token",
"message": "Authentication failed",
"requestId": "9cb32531-bab4-4e8e-8887-30dd0d170945",
"issues": []
}
}
X-Request-ID
required
string

Correlation identifier

Example
9cb32531-bab4-4e8e-8887-30dd0d170945

Forbidden

Media typeapplication/json
ApiErrorEnvelopeV1
object
error
required
ApiErrorV1
object
code
required
string
message
required
string
requestId
required
string
issues
Array<object>
ApiIssueV1
object
path
required
string
code
required
string
message
required
string
Example
{
"error": {
"code": "forbidden",
"message": "Teacher access is required",
"requestId": "9cb32531-bab4-4e8e-8887-30dd0d170945",
"issues": []
}
}
X-Request-ID
required
string

Correlation identifier

Example
9cb32531-bab4-4e8e-8887-30dd0d170945

Not Found

Media typeapplication/json
ApiErrorEnvelopeV1
object
error
required
ApiErrorV1
object
code
required
string
message
required
string
requestId
required
string
issues
Array<object>
ApiIssueV1
object
path
required
string
code
required
string
message
required
string
Example
{
"error": {
"code": "not_found",
"message": "Course was not found",
"requestId": "9cb32531-bab4-4e8e-8887-30dd0d170945",
"issues": []
}
}
X-Request-ID
required
string

Correlation identifier

Example
9cb32531-bab4-4e8e-8887-30dd0d170945

Conflict

Media typeapplication/json
ApiErrorEnvelopeV1
object
error
required
ApiErrorV1
object
code
required
string
message
required
string
requestId
required
string
issues
Array<object>
ApiIssueV1
object
path
required
string
code
required
string
message
required
string
Example
{
"error": {
"code": "manual_grading_exercise_conflict",
"message": "Manual grading exercise is already assigned to another course",
"requestId": "9cb32531-bab4-4e8e-8887-30dd0d170945",
"issues": []
}
}
X-Request-ID
required
string

Correlation identifier

Example
9cb32531-bab4-4e8e-8887-30dd0d170945

Precondition Failed

Media typeapplication/json
ApiErrorEnvelopeV1
object
error
required
ApiErrorV1
object
code
required
string
message
required
string
requestId
required
string
issues
Array<object>
ApiIssueV1
object
path
required
string
code
required
string
message
required
string
Example
{
"error": {
"code": "revision_conflict",
"message": "Course settings changed since they were read",
"requestId": "9cb32531-bab4-4e8e-8887-30dd0d170945",
"issues": []
}
}
X-Request-ID
required
string

Correlation identifier

Example
9cb32531-bab4-4e8e-8887-30dd0d170945

Payload Too Large

Media typeapplication/json
ApiErrorEnvelopeV1
object
error
required
ApiErrorV1
object
code
required
string
message
required
string
requestId
required
string
issues
Array<object>
ApiIssueV1
object
path
required
string
code
required
string
message
required
string
Example
{
"error": {
"code": "payload_too_large",
"message": "Request body exceeds 2 MB",
"requestId": "9cb32531-bab4-4e8e-8887-30dd0d170945",
"issues": []
}
}
X-Request-ID
required
string

Correlation identifier

Example
9cb32531-bab4-4e8e-8887-30dd0d170945

Unsupported Media Type

Media typeapplication/json
ApiErrorEnvelopeV1
object
error
required
ApiErrorV1
object
code
required
string
message
required
string
requestId
required
string
issues
Array<object>
ApiIssueV1
object
path
required
string
code
required
string
message
required
string
Example
{
"error": {
"code": "unsupported_media_type",
"message": "Content-Type must be application/json",
"requestId": "9cb32531-bab4-4e8e-8887-30dd0d170945",
"issues": []
}
}
X-Request-ID
required
string

Correlation identifier

Example
9cb32531-bab4-4e8e-8887-30dd0d170945

Precondition Required

Media typeapplication/json
ApiErrorEnvelopeV1
object
error
required
ApiErrorV1
object
code
required
string
message
required
string
requestId
required
string
issues
Array<object>
ApiIssueV1
object
path
required
string
code
required
string
message
required
string
Example
{
"error": {
"code": "precondition_required",
"message": "If-Match is required",
"requestId": "9cb32531-bab4-4e8e-8887-30dd0d170945",
"issues": []
}
}
X-Request-ID
required
string

Correlation identifier

Example
9cb32531-bab4-4e8e-8887-30dd0d170945

Internal Server Error

Media typeapplication/json
ApiErrorEnvelopeV1
object
error
required
ApiErrorV1
object
code
required
string
message
required
string
requestId
required
string
issues
Array<object>
ApiIssueV1
object
path
required
string
code
required
string
message
required
string
Example
{
"error": {
"code": "internal",
"message": "Internal server error",
"requestId": "9cb32531-bab4-4e8e-8887-30dd0d170945",
"issues": []
}
}
X-Request-ID
required
string

Correlation identifier

Example
9cb32531-bab4-4e8e-8887-30dd0d170945

Bad Gateway

Media typeapplication/json
ApiErrorEnvelopeV1
object
error
required
ApiErrorV1
object
code
required
string
message
required
string
requestId
required
string
issues
Array<object>
ApiIssueV1
object
path
required
string
code
required
string
message
required
string
Example
{
"error": {
"code": "aplus_unavailable",
"message": "A+ is unavailable",
"requestId": "9cb32531-bab4-4e8e-8887-30dd0d170945",
"issues": []
}
}
X-Request-ID
required
string

Correlation identifier

Example
9cb32531-bab4-4e8e-8887-30dd0d170945