Agentenwerk
oss openolat learning path prerequisite rehearsal
The paid HTTP request is accepted asynchronously with HTTP 202 and an unguessable result URL; poll that URL about every 20 seconds for the result, normally available after about 130 seconds. Settlement happens only after a successful native run while the authorization is still valid. The run passes a course structure and a set of learners through the pinned OpenOlat learning-path implementation and reports, per learner, which nodes the original code actually unlocks and in what order.
POST https://agent.halowerk.com/v1/oss-openolat-learning-path-prerequisite-rehearsalEingaben
| Feld | Typ | Pflicht | Beschreibung |
|---|---|---|---|
| course | object | Ja | |
| learners | array | Ja | |
| expectations | object | Nein |
Vollständiges Eingabeschema anzeigen
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$defs": {
"page": {
"type": "object",
"properties": {
"key": {
"type": "string",
"pattern": "^[a-z][a-z0-9_]{0,31}$"
},
"kind": {
"const": "page"
},
"title": {
"type": "string",
"minLength": 1,
"maxLength": 120
},
"obligation": {
"enum": [
"mandatory",
"optional",
"excluded"
]
},
"trigger": {
"enum": [
"visit",
"confirm"
]
},
"start_offset_minutes": {
"type": "integer",
"minimum": -525600,
"maximum": 525600,
"not": {
"minimum": -59,
"maximum": 59
}
},
"end_offset_minutes": {
"type": "integer",
"minimum": -525600,
"maximum": 525600,
"not": {
"minimum": -59,
"maximum": 59
}
}
},
"required": [
"key",
"kind",
"title"
],
"additionalProperties": false
},
"section": {
"type": "object",
"properties": {
"key": {
"type": "string",
"pattern": "^[a-z][a-z0-9_]{0,31}$"
},
"kind": {
"const": "section"
},
"title": {
"type": "string",
"minLength": 1,
"maxLength": 120
},
"sequence": {
"enum": [
"sequential",
"free"
]
},
"children": {
"type": "array",
"minItems": 1,
"maxItems": 32,
"items": {
"$ref": "#/$defs/node"
}
}
},
"required": [
"key",
"kind",
"title",
"sequence",
"children"
],
"additionalProperties": false
},
"node": {
"oneOf": [
{
"$ref": "#/$defs/page"
},
{
"$ref": "#/$defs/section"
}
]
}
},
"type": "object",
"properties": {
"course": {
"type": "object",
"properties": {
"title": {
"type": "string",
"minLength": 1,
"maxLength": 120
},
"sequence": {
"enum": [
"sequential",
"free"
]
},
"children": {
"type": "array",
"minItems": 1,
"maxItems": 32,
"items": {
"$ref": "#/$defs/node"
}
}
},
"required": [
"title",
"sequence",
"children"
],
"additionalProperties": false
},
"learners": {
"type": "array",
"minItems": 1,
"maxItems": 8,
"items": {
"type": "object",
"properties": {
"key": {
"type": "string",
"pattern": "^[a-z][a-z0-9_]{0,31}$"
},
"membership": {
"enum": [
"participant",
"coach",
"owner",
"none"
]
},
"actions": {
"type": "array",
"maxItems": 64,
"items": {
"type": "object",
"properties": {
"node": {
"type": "string",
"pattern": "^[a-z][a-z0-9_]{0,31}$"
},
"action": {
"enum": [
"visit",
"confirm"
]
}
},
"required": [
"node",
"action"
],
"additionalProperties": false
}
}
},
"required": [
"key",
"membership",
"actions"
],
"additionalProperties": false
}
},
"expectations": {
"type": "object",
"properties": {
"learners": {
"type": "object",
"minProperties": 1,
"maxProperties": 8,
"propertyNames": {
"type": "string",
"pattern": "^[a-z][a-z0-9_]{0,31}$"
},
"additionalProperties": {
"type": "object",
"properties": {
"course_access": {
"enum": [
"granted",
"denied"
]
},
"security": {
"type": "object",
"properties": {
"can_launch": {
"type": "boolean"
},
"participant": {
"type": "boolean"
},
"coach": {
"type": "boolean"
},
"owner": {
"type": "boolean"
},
"entry_admin": {
"type": "boolean"
},
"read_only": {
"type": "boolean"
}
},
"required": [],
"additionalProperties": false,
"minProperties": 1
},
"initial": {
"type": "object",
"minProperties": 1,
"maxProperties": 65,
"propertyNames": {
"type": "string",
"pattern": "^[a-z][a-z0-9_]{0,31}$"
},
"additionalProperties": {
"type": "object",
"properties": {
"status": {
"anyOf": [
{
"enum": [
"notReady",
"notStarted",
"inProgress",
"inReview",
"done"
]
},
{
"type": "null"
}
]
},
"fully_assessed": {
"anyOf": [
{
"enum": [
"true",
"false"
]
},
{
"type": "null"
}
]
},
"obligation": {
"anyOf": [
{
"enum": [
"mandatory",
"optional",
"excluded"
]
},
{
"type": "null"
}
]
},
"visible": {
"type": "boolean"
},
"accessible": {
"type": "boolean"
}
},
"required": [],
"additionalProperties": false,
"minProperties": 1
}
},
"steps": {
"type": "array",
"maxItems": 64,
"items": {
"type": "object",
"properties": {
"applied": {
"type": "boolean"
},
"reason": {
"type": "string",
"maxLength": 64
},
"visible_before": {
"type": "boolean"
},
"accessible_before": {
"type": "boolean"
},
"after": {
"type": "object",
"minProperties": 1,
"maxProperties": 65,
"propertyNames": {
"type": "string",
"pattern": "^[a-z][a-z0-9_]{0,31}$"
},
"additionalProperties": {
"type": "object",
"properties": {
"status": {
"anyOf": [
{
"enum": [
"notReady",
"notStarted",
"inProgress",
"inReview",
"done"
]
},
{
"type": "null"
}
]
},
"fully_assessed": {
"anyOf": [
{
"enum": [
"true",
"false"
]
},
{
"type": "null"
}
]
},
"obligation": {
"anyOf": [
{
"enum": [
"mandatory",
"optional",
"excluded"
]
},
{
"type": "null"
}
]
},
"visible": {
"type": "boolean"
},
"accessible": {
"type": "boolean"
}
},
"required": [],
"additionalProperties": false,
"minProperties": 1
}
}
},
"required": [],
"additionalProperties": false
}
}
},
"required": [],
"additionalProperties": false
}
}
},
"required": [
"learners"
],
"additionalProperties": false
}
},
"required": [
"course",
"learners"
],
"additionalProperties": false
}Veröffentlichtes Eingabebeispiel
{
"course": {
"children": [
{
"key": "intro",
"kind": "page",
"obligation": "mandatory",
"title": "intro",
"trigger": "visit"
},
{
"key": "reading",
"kind": "page",
"obligation": "mandatory",
"title": "reading",
"trigger": "confirm"
},
{
"key": "bonus",
"kind": "page",
"obligation": "optional",
"title": "bonus",
"trigger": "visit"
},
{
"key": "final",
"kind": "page",
"obligation": "mandatory",
"title": "final",
"trigger": "visit"
}
],
"sequence": "sequential",
"title": "Roles and triggers"
},
"expectations": {
"learners": {
"coach": {
"course_access": "granted",
"security": {
"can_launch": true,
"coach": true,
"participant": false
},
"steps": [
{
"applied": false
}
]
},
"outsider": {
"course_access": "denied",
"security": {
"can_launch": false
},
"steps": [
{
"applied": false,
"reason": "course_access_denied"
}
]
},
"owner": {
"course_access": "granted",
"security": {
"can_launch": true,
"owner": true,
"participant": false
},
"steps": [
{
"applied": false
}
]
},
"participant": {
"course_access": "granted",
"initial": {
"final": {
"accessible": false
},
"intro": {
"accessible": true
},
"reading": {
"accessible": false
}
},
"security": {
"can_launch": true,
"coach": false,
"owner": false,
"participant": true
},
"steps": [
{
"applied": false,
"reason": "node_not_accessible"
},
{
"applied": false,
"reason": "confirmation_not_enabled"
},
{
"after": {
"intro": {
"fully_assessed": "true",
"status": "done"
},
"reading": {
"accessible": true
}
},
"applied": true
},
{
"applied": false
},
{
"after": {
"bonus": {
"accessible": true
},
"final": {
"accessible": true
},
"reading": {
"fully_assessed": "true",
"status": "done"
}
},
"applied": true
},
{
"after": {
"course": {
"status": "done"
},
"final": {
"fully_assessed": "true",
"status": "done"
}
},
"applied": true
}
]
}
}
},
"learners": [
{
"actions": [
{
"action": "confirm",
"node": "reading"
},
{
"action": "confirm",
"node": "intro"
},
{
"action": "visit",
"node": "intro"
},
{
"action": "visit",
"node": "reading"
},
{
"action": "confirm",
"node": "reading"
},
{
"action": "visit",
"node": "final"
}
],
"key": "participant",
"membership": "participant"
},
{
"actions": [
{
"action": "visit",
"node": "intro"
}
],
"key": "coach",
"membership": "coach"
},
{
"actions": [
{
"action": "visit",
"node": "intro"
}
],
"key": "owner",
"membership": "owner"
},
{
"actions": [
{
"action": "visit",
"node": "intro"
}
],
"key": "outsider",
"membership": "none"
}
]
}Ergebnis & Dokumentation
Maschinenlesbare Dokumentation dieses Hubs
Quelle dieser Seite: der veröffentlichte HALOWERK-Katalog. Stand: 2026-11-01, 15:19 UTC.
Weitere Endpunkte dieses Hubs
- Agentenwerk0,002 USDC
a2a card validate
POSThttps://agent.halowerk.com/v1/a2a-card-validateValidates an Agent Card document against the A2A convention and returns findings by severity: error (the card is unusable as published), warning (works, but a consuming agent will guess), info (recommended field absent).
- Agentenwerk0,003 USDC
artifact receipt
POSThttps://agent.halowerk.com/v1/artifact-receiptSeal binds an exact UTF-8 content SHA-256 digest and expiry to a HALOWERK Ed25519 signature; verify checks signature, expiry and optional exact content. The service public key is included. This attests digest receipt only, not truth, legal
- Agentenwerk0,001 USDC
base64 codec
POSThttps://agent.halowerk.com/v1/base64-codecConverts text to padded standard Base64 or decodes canonical Base64 to valid UTF-8. Rejects noncanonical padding, whitespace, URL-safe alphabet and invalid decoded UTF-8.