Cancel & Manage Operations
K12 Task Cancellation
The examples use APIM-style /ai paths. The generated direct runtime paths omit
that prefix, for example /k12/tools/cancel-task-request.
Cancel a Task Request
POST /ai/k12/tools/cancel-task-request
Cancels an in-flight K12 EOP editing or QRG generation job.
curl -X POST "$BASE_URL/ai/k12/tools/cancel-task-request" \
-H "Content-Type: application/json" \
-d '{ "requestId": "req-uuid-123" }'
Cancel a QRG Operation
POST /ai/k12/tools/qrg-cancel
Cancels an in-flight QRG generation or editing job.
curl -X POST "$BASE_URL/ai/k12/tools/qrg-cancel" \
-H "Content-Type: application/json" \
-d '{ "requestId": "qrg-req-uuid-456" }'
K12 Task Status
The K12 domain uses an async kickoff/status/result pattern:
1. Kickoff
POST /ai/k12/tools/annex-editing-kickoff
Starts an EOP editing job and returns a requestId for polling.
2. Poll Status
POST /ai/k12/tools/annex-editing-status
curl -X POST "$BASE_URL/ai/k12/tools/annex-editing-status" \
-H "Content-Type: application/json" \
-d '{ "requestId": "req-uuid-123" }'
Response:
{
"data": {
"requestId": "req-uuid-123",
"status": "IN_PROGRESS",
"progress": 60,
"message": "Processing annex sections..."
}
}
3. Get Result
POST /ai/k12/tools/annex-editing-result
Retrieves the final result once status is COMPLETED.
SDAC Validation Queue
Manage Validation Queue
POST /ai/sdac/tools/manage-validation-queue
Manage the priority and ordering of validation tasks in the queue.
TAP Content Safety Checks
Evaluate TAP Text Or Media
POST /ai/tap/tools/content-safety
Evaluates TAP text and optional media through the current content-safety tool.
This route accepts Azure-compatible fields such as threshold,
blocklistNames, and haltOnBlocklistHit, but the local classifier does not
mutate Azure blocklists.
curl -X POST "$BASE_URL/ai/tap/tools/content-safety" \
-H "Content-Type: application/json" \
-d '{
"requestId": "tap-safe-check-1",
"text": "Please review this post caption before publishing.",
"threshold": 2
}'
Response:
{
"data": {
"requestId": "tap-safe-check-1",
"threshold": 2,
"flagged": false,
"text": {
"flagged": false,
"maxSeverity": 0,
"categories": [],
"blocklistHits": [],
"rawResponse": {
"blocklistsMatch": [],
"categoriesAnalysis": []
}
}
}
}