Skip to main content
POST
/
submissions
/
{id}
/
events
Log a learner interaction event
curl --request POST \
  --url https://edpire.com/api/v1/submissions/{id}/events \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "question_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
  "node_id": "<string>",
  "payload": {}
}
'
{
  "data": {
    "ok": true
  },
  "error": {
    "message": "<string>"
  },
  "meta": {}
}

Authorizations

Authorization
string
header
required

API key starting with edp_live_. Pass via Authorization: Bearer edp_live_xxx.

Scopes: read:assessments, write:assessments, read:results, write:submissions.

Path Parameters

id
string<uuid>
required

Submission ID (must be in_progress)

Body

application/json
event_type
enum<string>
required

Type of interaction event

Available options:
answer_change,
node_view,
paused,
resumed,
navigated,
flagged
question_id
string<uuid>

Required for answer_change events; identifies the answer row to increment

node_id
string

Specific interactive node within the question (e.g. a drag-drop slot ID)

payload
object

Arbitrary event-specific data (e.g. { from, to } for navigated events)

Response

Event recorded

data
object
error
object
meta
object