Skip to content

Append exercises to sheet

Use this to append existing visible exercises to the end of one writable exercise sheet.

{
"annotations": {
"readOnlyHint": false,
"destructiveHint": false,
"idempotentHint": false,
"openWorldHint": false
},
"fileParams": [],
"requiredPermission": "write",
"security": {
"type": "oauth2",
"scopes": [
"chalksurf:write"
]
}
}

The server advertises this JSON Schema to MCP clients. Runtime authorization and business-rule checks still apply.

{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false,
"properties": {
"confirmMakeExercisesPublic": {
"default": false,
"type": "boolean"
},
"exerciseIds": {
"items": {
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"type": "string"
},
"minItems": 1,
"type": "array"
},
"organizationId": {
"description": "The ChalkSurf organization ID to use for this request.",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"type": "string"
},
"sheetId": {
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"type": "string"
}
},
"required": [
"sheetId",
"exerciseIds",
"organizationId"
],
"type": "object"
}
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false,
"properties": {
"receipt": {
"additionalProperties": false,
"properties": {
"changedPaths": {
"items": {
"type": "string"
},
"type": "array"
},
"details": {},
"operation": {
"enum": [
"copy_exercise",
"copy_sheet",
"update_exercise",
"resolve_quality_issue",
"dismiss_quality_issue",
"update_sheet",
"bulk_update_sheets",
"append_exercises_to_sheet",
"create_folder",
"rename_folder",
"delete_exercise",
"delete_sheet",
"delete_folder",
"create_sheet",
"create_exercise",
"upload_exercise_figure",
"set_exercise_visibility",
"set_sheet_visibility"
],
"type": "string"
},
"precondition": {
"additionalProperties": false,
"properties": {
"actualUpdatedAt": {
"anyOf": [
{
"minLength": 1,
"type": "string"
},
{
"type": "null"
}
]
},
"expectedUpdatedAt": {
"anyOf": [
{
"minLength": 1,
"type": "string"
},
{
"type": "null"
}
]
},
"status": {
"enum": [
"matched",
"not_required"
],
"type": "string"
}
},
"required": [
"status"
],
"type": "object"
},
"resource": {
"additionalProperties": false,
"properties": {
"id": {
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"type": "string"
},
"type": {
"enum": [
"exercise",
"sheet",
"folder"
],
"type": "string"
}
},
"required": [
"type",
"id"
],
"type": "object"
},
"version": {
"oneOf": [
{
"additionalProperties": false,
"properties": {
"created": {
"const": true,
"type": "boolean"
},
"resourceType": {
"const": "sheet",
"type": "string"
},
"versionId": {
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"type": "string"
},
"versionNumber": {
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
}
},
"required": [
"resourceType",
"created",
"versionId",
"versionNumber"
],
"type": "object"
},
{
"additionalProperties": false,
"properties": {
"created": {
"const": false,
"type": "boolean"
},
"reason": {
"minLength": 1,
"type": "string"
},
"resourceType": {
"const": "sheet",
"type": "string"
}
},
"required": [
"resourceType",
"created",
"reason"
],
"type": "object"
}
]
},
"warnings": {
"items": {
"additionalProperties": false,
"properties": {
"code": {
"type": "string"
},
"details": {},
"message": {
"type": "string"
}
},
"required": [
"code",
"message"
],
"type": "object"
},
"type": "array"
}
},
"required": [
"resource",
"operation",
"changedPaths",
"precondition",
"warnings",
"details"
],
"type": "object"
}
},
"required": [
"receipt"
],
"type": "object"
}