Public REST/JSON reference
Student Engagement Decay Detector API
Public BFF API for student engagement risk scoring, cohort heatmaps, dropout signals, and interventions. Part of the Logic Igniter Education Suite.
Access boundary
These examples describe public API calls only. Use the service output to review, score, summarize, analyze, or recommend; do not treat the API reference as permission for an assistant to write, send, publish, charge, schedule, notify, delete, or modify records.
Base URL
https://api.logicigniter.comAuth
Authorization: Bearer YOUR_API_KEYVersion
OpenAPI 3.0.3 · 1.0.0Operations rendered
16
Response models rendered
29
/api/v1/engagementdecay/customersList EngagementDecay customers
List customers for the EngagementDecay service.
Public REST/JSON operation
This operation is documented for direct API evaluation. It describes the public payload and response contract only; assistant/MCP usage remains read only and is covered in the MCP guide.
Parameters
| Name | In | Type | Notes |
|---|---|---|---|
page_size | query | integer | |
page_token | query | string |
Request example
Replace placeholders with your confirmed access key and your own business data.
curl -X GET "https://api.logicigniter.com/api/v1/engagementdecay/customers" \ -H "Authorization: Bearer YOUR_API_KEY" \ -H "Accept: application/json"
Responses
Successful response
Request validation failed
Missing or invalid bearer token
Subscription or bundle access required
Requested record was not found
Unexpected service error
/api/v1/engagementdecay/customersCreate EngagementDecay customer
Create a customer for the EngagementDecay service.
Public REST/JSON operation
This operation is documented for direct API evaluation. It describes the public payload and response contract only; assistant/MCP usage remains read only and is covered in the MCP guide.
Request body (required)
Request example
Replace placeholders with your confirmed access key and your own business data.
curl -X POST "https://api.logicigniter.com/api/v1/engagementdecay/customers" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-d '{}'Responses
Successful response
Request validation failed
Missing or invalid bearer token
Subscription or bundle access required
Requested record was not found
Unexpected service error
/api/v1/engagementdecay/customers/{id}Get EngagementDecay customer
Get a customer for the EngagementDecay service.
Public REST/JSON operation
This operation is documented for direct API evaluation. It describes the public payload and response contract only; assistant/MCP usage remains read only and is covered in the MCP guide.
Parameters
| Name | In | Type | Notes |
|---|---|---|---|
idrequired | path | string |
Request example
Replace placeholders with your confirmed access key and your own business data.
curl -X GET "https://api.logicigniter.com/api/v1/engagementdecay/customers/:id" \ -H "Authorization: Bearer YOUR_API_KEY" \ -H "Accept: application/json"
Responses
Successful response
Request validation failed
Missing or invalid bearer token
Subscription or bundle access required
Requested record was not found
Unexpected service error
/api/v1/engagementdecay/customers/{id}Update EngagementDecay customer
Update a customer for the EngagementDecay service.
Public REST/JSON operation
This operation is documented for direct API evaluation. It describes the public payload and response contract only; assistant/MCP usage remains read only and is covered in the MCP guide.
Parameters
| Name | In | Type | Notes |
|---|---|---|---|
idrequired | path | string |
Request body (required)
Request example
Replace placeholders with your confirmed access key and your own business data.
curl -X PUT "https://api.logicigniter.com/api/v1/engagementdecay/customers/:id" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-d '{}'Responses
Successful response
Request validation failed
Missing or invalid bearer token
Subscription or bundle access required
Requested record was not found
Unexpected service error
/api/v1/engagementdecay/students/{id}/engagementGet Students/Id/Engagement
Get Students/Id/Engagement for student engagement risk scoring, cohort heatmaps, dropout signals, and interventions.
Public REST/JSON operation
This operation is documented for direct API evaluation. It describes the public payload and response contract only; assistant/MCP usage remains read only and is covered in the MCP guide.
Parameters
| Name | In | Type | Notes |
|---|---|---|---|
idrequired | path | string |
Request example
Replace placeholders with your confirmed access key and your own business data.
curl -X GET "https://api.logicigniter.com/api/v1/engagementdecay/students/:id/engagement" \ -H "Authorization: Bearer YOUR_API_KEY" \ -H "Accept: application/json"
Responses
Successful response
Request validation failed
Missing or invalid bearer token
Subscription or bundle access required
Requested record was not found
Unexpected service error
/api/v1/engagementdecay/students/riskGet Students/Risk
Get Students/Risk for student engagement risk scoring, cohort heatmaps, dropout signals, and interventions.
Public REST/JSON operation
This operation is documented for direct API evaluation. It describes the public payload and response contract only; assistant/MCP usage remains read only and is covered in the MCP guide.
Request example
Replace placeholders with your confirmed access key and your own business data.
curl -X GET "https://api.logicigniter.com/api/v1/engagementdecay/students/risk" \ -H "Authorization: Bearer YOUR_API_KEY" \ -H "Accept: application/json"
Responses
Successful response
Request validation failed
Missing or invalid bearer token
Subscription or bundle access required
Requested record was not found
Unexpected service error
/api/v1/engagementdecay/cohorts/{id}/engagementGet Cohorts/Id/Engagement
Get Cohorts/Id/Engagement for student engagement risk scoring, cohort heatmaps, dropout signals, and interventions.
Public REST/JSON operation
This operation is documented for direct API evaluation. It describes the public payload and response contract only; assistant/MCP usage remains read only and is covered in the MCP guide.
Parameters
| Name | In | Type | Notes |
|---|---|---|---|
idrequired | path | string |
Request example
Replace placeholders with your confirmed access key and your own business data.
curl -X GET "https://api.logicigniter.com/api/v1/engagementdecay/cohorts/:id/engagement" \ -H "Authorization: Bearer YOUR_API_KEY" \ -H "Accept: application/json"
Responses
Successful response
Request validation failed
Missing or invalid bearer token
Subscription or bundle access required
Requested record was not found
Unexpected service error
/api/v1/engagementdecay/courses/{id}/heatmapGet Courses/Id/Heatmap
Get Courses/Id/Heatmap for student engagement risk scoring, cohort heatmaps, dropout signals, and interventions.
Public REST/JSON operation
This operation is documented for direct API evaluation. It describes the public payload and response contract only; assistant/MCP usage remains read only and is covered in the MCP guide.
Parameters
| Name | In | Type | Notes |
|---|---|---|---|
idrequired | path | string |
Request example
Replace placeholders with your confirmed access key and your own business data.
curl -X GET "https://api.logicigniter.com/api/v1/engagementdecay/courses/:id/heatmap" \ -H "Authorization: Bearer YOUR_API_KEY" \ -H "Accept: application/json"
Responses
Successful response
Request validation failed
Missing or invalid bearer token
Subscription or bundle access required
Requested record was not found
Unexpected service error
/api/v1/engagementdecay/interventions/triggerCreate or run Interventions/Trigger
Create or run Interventions/Trigger for student engagement risk scoring, cohort heatmaps, dropout signals, and interventions.
Public REST/JSON operation
This operation is documented for direct API evaluation. It describes the public payload and response contract only; assistant/MCP usage remains read only and is covered in the MCP guide.
Request body (required)
Schema: EngagementdecayResultRequest
Request example
Replace placeholders with your confirmed access key and your own business data.
curl -X POST "https://api.logicigniter.com/api/v1/engagementdecay/interventions/trigger" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-d '{}'Responses
Successful response
Request validation failed
Missing or invalid bearer token
Subscription or bundle access required
Requested record was not found
Unexpected service error
/api/v1/engagementdecay/interventions/batchCreate or run Interventions/Batch
Create or run Interventions/Batch for student engagement risk scoring, cohort heatmaps, dropout signals, and interventions.
Public REST/JSON operation
This operation is documented for direct API evaluation. It describes the public payload and response contract only; assistant/MCP usage remains read only and is covered in the MCP guide.
Request body (required)
Schema: EngagementdecayResultRequest
Request example
Replace placeholders with your confirmed access key and your own business data.
curl -X POST "https://api.logicigniter.com/api/v1/engagementdecay/interventions/batch" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-d '{}'Responses
Successful response
Request validation failed
Missing or invalid bearer token
Subscription or bundle access required
Requested record was not found
Unexpected service error
/api/v1/engagementdecay/interventions/effectivenessGet Interventions/Effectiveness
Get Interventions/Effectiveness for student engagement risk scoring, cohort heatmaps, dropout signals, and interventions.
Public REST/JSON operation
This operation is documented for direct API evaluation. It describes the public payload and response contract only; assistant/MCP usage remains read only and is covered in the MCP guide.
Request example
Replace placeholders with your confirmed access key and your own business data.
curl -X GET "https://api.logicigniter.com/api/v1/engagementdecay/interventions/effectiveness" \ -H "Authorization: Bearer YOUR_API_KEY" \ -H "Accept: application/json"
Responses
Successful response
Request validation failed
Missing or invalid bearer token
Subscription or bundle access required
Requested record was not found
Unexpected service error
/api/v1/engagementdecay/interventionsGet Interventions
Get Interventions for student engagement risk scoring, cohort heatmaps, dropout signals, and interventions.
Public REST/JSON operation
This operation is documented for direct API evaluation. It describes the public payload and response contract only; assistant/MCP usage remains read only and is covered in the MCP guide.
Parameters
| Name | In | Type | Notes |
|---|---|---|---|
page_size | query | integer | |
page_token | query | string |
Request example
Replace placeholders with your confirmed access key and your own business data.
curl -X GET "https://api.logicigniter.com/api/v1/engagementdecay/interventions" \ -H "Authorization: Bearer YOUR_API_KEY" \ -H "Accept: application/json"
Responses
Successful response
Request validation failed
Missing or invalid bearer token
Subscription or bundle access required
Requested record was not found
Unexpected service error
/api/v1/engagementdecay/students/{id}/dropoutGet Students/Id/Dropout
Get Students/Id/Dropout for student engagement risk scoring, cohort heatmaps, dropout signals, and interventions.
Public REST/JSON operation
This operation is documented for direct API evaluation. It describes the public payload and response contract only; assistant/MCP usage remains read only and is covered in the MCP guide.
Parameters
| Name | In | Type | Notes |
|---|---|---|---|
idrequired | path | string |
Request example
Replace placeholders with your confirmed access key and your own business data.
curl -X GET "https://api.logicigniter.com/api/v1/engagementdecay/students/:id/dropout" \ -H "Authorization: Bearer YOUR_API_KEY" \ -H "Accept: application/json"
Responses
Successful response
Request validation failed
Missing or invalid bearer token
Subscription or bundle access required
Requested record was not found
Unexpected service error
/api/v1/engagementdecay/courses/{id}/risk-distributionGet Courses/Id/Risk Distribution
Get Courses/Id/Risk Distribution for student engagement risk scoring, cohort heatmaps, dropout signals, and interventions.
Public REST/JSON operation
This operation is documented for direct API evaluation. It describes the public payload and response contract only; assistant/MCP usage remains read only and is covered in the MCP guide.
Parameters
| Name | In | Type | Notes |
|---|---|---|---|
idrequired | path | string |
Request example
Replace placeholders with your confirmed access key and your own business data.
curl -X GET "https://api.logicigniter.com/api/v1/engagementdecay/courses/:id/risk-distribution" \ -H "Authorization: Bearer YOUR_API_KEY" \ -H "Accept: application/json"
Responses
Successful response
Request validation failed
Missing or invalid bearer token
Subscription or bundle access required
Requested record was not found
Unexpected service error
/api/v1/engagementdecay/students/{id}/decay-signalsGet Students/Id/Decay Signals
Get Students/Id/Decay Signals for student engagement risk scoring, cohort heatmaps, dropout signals, and interventions.
Public REST/JSON operation
This operation is documented for direct API evaluation. It describes the public payload and response contract only; assistant/MCP usage remains read only and is covered in the MCP guide.
Parameters
| Name | In | Type | Notes |
|---|---|---|---|
idrequired | path | string |
Request example
Replace placeholders with your confirmed access key and your own business data.
curl -X GET "https://api.logicigniter.com/api/v1/engagementdecay/students/:id/decay-signals" \ -H "Authorization: Bearer YOUR_API_KEY" \ -H "Accept: application/json"
Responses
Successful response
Request validation failed
Missing or invalid bearer token
Subscription or bundle access required
Requested record was not found
Unexpected service error
/api/v1/engagementdecay/activity-eventsIngest activity events
Ingest recent student activity events for engagement decay scoring.
Public REST/JSON operation
This operation is documented for direct API evaluation. It describes the public payload and response contract only; assistant/MCP usage remains read only and is covered in the MCP guide.
Parameters
| Name | In | Type | Notes |
|---|---|---|---|
Idempotency-Key | header | string | Send a stable key to make retries idempotent. Required when the service enforces idempotency keys. |
Request body (required)
Schema: EngagementActivityEventsRequest
Request example
Replace placeholders with your confirmed access key and your own business data.
curl -X POST "https://api.logicigniter.com/api/v1/engagementdecay/activity-events" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-d '{}'Responses
Successful response
Request validation failed
Missing or invalid bearer token
Subscription or bundle access required
Requested record was not found
Unexpected service error
Data models
EngagementdecayResultRequest
| Field | Type | Notes |
|---|---|---|
source_idrequired | string | |
workspace_id | string | |
notes | string | |
filters | object |
EngagementdecayResult
| Field | Type | Notes |
|---|---|---|
idrequired | string | Example: "rec_1042" |
workspace_id | string | Example: "workspace_123" |
statusrequired | enum(pending | active | completed | failed) | One of: pending, active, completed, failed |
summaryrequired | string | |
score | number (double) | |
signals | array<string> | |
created_at | string (date-time) | |
updated_at | string (date-time) |
EngagementdecayResultResponse
| Field | Type | Notes |
|---|---|---|
datarequired | EngagementdecayResult | |
items | array<EngagementdecayResult> | |
next_page_token | string |
ErrorResponse
| Field | Type | Notes |
|---|---|---|
coderequired | string | |
messagerequired | string | |
request_id | string |
EngagementInterventionResult
| Field | Type | Notes |
|---|---|---|
idrequired | string | |
successrequired | boolean | |
sent_at | string (date-time) |
EngagementBatchResult
| Field | Type | Notes |
|---|---|---|
idrequired | string | |
intervened_countrequired | integer (int32) |
EngagementEffectivenessReport
| Field | Type | Notes |
|---|---|---|
idrequired | string | |
total_interventionsrequired | integer (int32) | |
effective_countrequired | integer (int32) | |
effectiveness_raterequired | number (double) | |
avg_engagement_liftrequired | number (double) |
EngagementIntervention
| Field | Type | Notes |
|---|---|---|
idrequired | string | |
student_idrequired | string | |
intervention_typerequired | enum(INTERVENTION_TYPE_UNSPECIFIED | INTERVENTION_TYPE_EMAIL_NUDGE | INTERVENTION_TYPE_COHORT_ALERT | INTERVENTION_TYPE_BATCH_LOW | INTERVENTION_TYPE_BATCH_MEDIUM | INTERVENTION_TYPE_BATCH_HIGH | INTERVENTION_TYPE_BATCH_CRITICAL) | One of: INTERVENTION_TYPE_UNSPECIFIED, INTERVENTION_TYPE_EMAIL_NUDGE, INTERVENTION_TYPE_COHORT_ALERT, INTERVENTION_TYPE_BATCH_LOW, INTERVENTION_TYPE_BATCH_MEDIUM, INTERVENTION_TYPE_BATCH_HIGH, INTERVENTION_TYPE_BATCH_CRITICAL |
engagement_beforerequired | number (double) | |
engagement_afterrequired | number (double) | |
effectiverequired | boolean | |
sent_at | string (date-time) |
EngagementInterventionsResponse
| Field | Type | Notes |
|---|---|---|
itemsrequired | array<EngagementIntervention> | |
next_page_tokenrequired | string | |
total_countrequired | integer (int32) |
EngagementDecaySignal
| Field | Type | Notes |
|---|---|---|
signal_typerequired | enum(DECAY_SIGNAL_TYPE_UNSPECIFIED | DECAY_SIGNAL_TYPE_SLOPE | DECAY_SIGNAL_TYPE_VELOCITY | DECAY_SIGNAL_TYPE_COHORT_GAP | DECAY_SIGNAL_TYPE_STABLE | DECAY_SIGNAL_TYPE_INACTIVITY) | One of: DECAY_SIGNAL_TYPE_UNSPECIFIED, DECAY_SIGNAL_TYPE_SLOPE, DECAY_SIGNAL_TYPE_VELOCITY, DECAY_SIGNAL_TYPE_COHORT_GAP, DECAY_SIGNAL_TYPE_STABLE, DECAY_SIGNAL_TYPE_INACTIVITY |
descriptionrequired | string | |
severityrequired | number (double) |
EngagementDropoutPrediction
| Field | Type | Notes |
|---|---|---|
idrequired | string | |
student_idrequired | string | |
probabilityrequired | number (double) | |
risk_tierrequired | enum(RISK_TIER_UNSPECIFIED | RISK_TIER_LOW | RISK_TIER_MEDIUM | RISK_TIER_HIGH | RISK_TIER_CRITICAL) | One of: RISK_TIER_UNSPECIFIED, RISK_TIER_LOW, RISK_TIER_MEDIUM, RISK_TIER_HIGH, RISK_TIER_CRITICAL |
signalsrequired | array<EngagementDecaySignal> |
EngagementRiskDistribution
| Field | Type | Notes |
|---|---|---|
idrequired | string | |
low_riskrequired | integer (int32) | |
medium_riskrequired | integer (int32) | |
high_riskrequired | integer (int32) | |
critical_riskrequired | integer (int32) |
EngagementDecaySignals
| Field | Type | Notes |
|---|---|---|
idrequired | string | |
student_idrequired | string | |
signalsrequired | array<EngagementDecaySignal> |
EngagementScorePoint
| Field | Type | Notes |
|---|---|---|
date | string (date-time) | |
scorerequired | number (double) |
EngagementStudentEngagement
| Field | Type | Notes |
|---|---|---|
idrequired | string | |
student_idrequired | string | |
current_scorerequired | number (double) | |
curve_typerequired | enum(CURVE_TYPE_UNSPECIFIED | CURVE_TYPE_RISING | CURVE_TYPE_STABLE | CURVE_TYPE_DECAYING | CURVE_TYPE_CLIFF) | One of: CURVE_TYPE_UNSPECIFIED, CURVE_TYPE_RISING, CURVE_TYPE_STABLE, CURVE_TYPE_DECAYING, CURVE_TYPE_CLIFF |
sloperequired | number (double) | |
scoresrequired | array<EngagementScorePoint> |
EngagementStudentRisk
| Field | Type | Notes |
|---|---|---|
student_idrequired | string | |
emailrequired | string | |
engagement_scorerequired | number (double) | |
dropout_probabilityrequired | number (double) | |
curve_typerequired | enum(CURVE_TYPE_UNSPECIFIED | CURVE_TYPE_RISING | CURVE_TYPE_STABLE | CURVE_TYPE_DECAYING | CURVE_TYPE_CLIFF) | One of: CURVE_TYPE_UNSPECIFIED, CURVE_TYPE_RISING, CURVE_TYPE_STABLE, CURVE_TYPE_DECAYING, CURVE_TYPE_CLIFF |
risk_tierrequired | enum(RISK_TIER_UNSPECIFIED | RISK_TIER_LOW | RISK_TIER_MEDIUM | RISK_TIER_HIGH | RISK_TIER_CRITICAL) | One of: RISK_TIER_UNSPECIFIED, RISK_TIER_LOW, RISK_TIER_MEDIUM, RISK_TIER_HIGH, RISK_TIER_CRITICAL |
EngagementStudentRiskResponse
| Field | Type | Notes |
|---|---|---|
itemsrequired | array<EngagementStudentRisk> | |
next_page_tokenrequired | string | |
total_countrequired | integer (int32) |
EngagementCohortEngagement
| Field | Type | Notes |
|---|---|---|
id | string | |
avg_score | number (double) | |
total_students | integer (int32) | |
at_risk_count | integer (int32) |
EngagementHeatmapCell
| Field | Type | Notes |
|---|---|---|
lesson_id | string | |
week | integer (int32) | |
avg_engagement | number (double) |
EngagementHeatmap
| Field | Type | Notes |
|---|---|---|
id | string | |
cells | array<EngagementHeatmapCell> |
EngagementHeatmapResponse
| Field | Type | Notes |
|---|---|---|
id | string | |
cells | array<EngagementHeatmapCell> |
EngagementIngestActivityEventsResult
| Field | Type | Notes |
|---|---|---|
idrequired | string | |
accepted_countrequired | integer (int32) | |
ingested_atrequired | string (date-time) |
EngagementdecayCustomer
| Field | Type | Notes |
|---|---|---|
idrequired | string | |
emailrequired | string | |
namerequired | string | |
planrequired | enum(PLAN_TIER_UNSPECIFIED | PLAN_TIER_STARTER | PLAN_TIER_GROWTH | PLAN_TIER_PRO | PLAN_TIER_ENTERPRISE | PLAN_TIER_SCALE) | One of: PLAN_TIER_UNSPECIFIED, PLAN_TIER_STARTER, PLAN_TIER_GROWTH, PLAN_TIER_PRO, PLAN_TIER_ENTERPRISE, PLAN_TIER_SCALE |
statusrequired | enum(CUSTOMER_STATUS_UNSPECIFIED | CUSTOMER_STATUS_ACTIVE | CUSTOMER_STATUS_INACTIVE | CUSTOMER_STATUS_SUSPENDED | CUSTOMER_STATUS_CANCELLED | CUSTOMER_STATUS_TRIAL | CUSTOMER_STATUS_PENDING | CUSTOMER_STATUS_PAUSED) | One of: CUSTOMER_STATUS_UNSPECIFIED, CUSTOMER_STATUS_ACTIVE, CUSTOMER_STATUS_INACTIVE, CUSTOMER_STATUS_SUSPENDED, CUSTOMER_STATUS_CANCELLED, CUSTOMER_STATUS_TRIAL, CUSTOMER_STATUS_PENDING, CUSTOMER_STATUS_PAUSED |
stripe_customer_idrequired | string | |
max_targetsrequired | integer | |
created_at | string (date-time) | |
updated_at | string (date-time) |
EngagementdecayCustomersResponse
| Field | Type | Notes |
|---|---|---|
customersrequired | array<EngagementdecayCustomer> | |
next_page_tokenrequired | string | |
total_countrequired | integer |
EngagementdecayCreateCustomerRequest
| Field | Type | Notes |
|---|---|---|
email | string | |
name | string | |
plan | string |
EngagementdecayUpdateCustomerRequest
| Field | Type | Notes |
|---|---|---|
name | string | |
plan | string | |
status | string |
EngagementActivityEventsRequest
| Field | Type | Notes |
|---|---|---|
events | array<EngagementActivityEventInput> |
EngagementActivityEventInput
| Field | Type | Notes |
|---|---|---|
student_id | string | |
course_id | string | |
event_typerequired | string | |
occurred_at | string (date-time) | |
value | number |
EngagementActivityEventsResult
| Field | Type | Notes |
|---|---|---|
idrequired | string | |
accepted_countrequired | integer | |
ingested_at | string (date-time) |

