Public REST/JSON reference
Course Completion Drop-Off Alerter API
Public BFF API for lesson-level course completion drop-off detection, stalled student lists, and re-engagement nudges. 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
17
Response models rendered
28
/api/v1/coursedropoff/courses/syncCreate or run Courses/Sync
Create or run Courses/Sync for lesson-level course completion drop-off detection, stalled student lists, and re-engagement nudges.
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: CoursedropoffResultRequest
Request example
Replace placeholders with your confirmed access key and your own business data.
curl -X POST "https://api.logicigniter.com/api/v1/coursedropoff/courses/sync" \
-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/coursedropoff/coursesGet Courses
Get Courses for lesson-level course completion drop-off detection, stalled student lists, and re-engagement nudges.
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/coursedropoff/courses" \ -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/coursedropoff/courses/{id}/analyticsGet Courses/Id/Analytics
Get Courses/Id/Analytics for lesson-level course completion drop-off detection, stalled student lists, and re-engagement nudges.
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/coursedropoff/courses/:id/analytics" \ -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/coursedropoff/courses/{id}/dropoffsList course drop-off points
List lesson-level drop-off points for a course.
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/coursedropoff/courses/:id/dropoffs" \ -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/coursedropoff/customersList CourseDropoff customers
List customers for the CourseDropoff 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/coursedropoff/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/coursedropoff/customersCreate CourseDropoff customer
Create a customer for the CourseDropoff 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/coursedropoff/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/coursedropoff/customers/{id}Get CourseDropoff customer
Get a customer for the CourseDropoff 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/coursedropoff/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/coursedropoff/customers/{id}Update CourseDropoff customer
Update a customer for the CourseDropoff 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/coursedropoff/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/coursedropoff/nudges/triggerCreate or run Nudges/Trigger
Create or run Nudges/Trigger for lesson-level course completion drop-off detection, stalled student lists, and re-engagement nudges.
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: CoursedropoffResultRequest
Request example
Replace placeholders with your confirmed access key and your own business data.
curl -X POST "https://api.logicigniter.com/api/v1/coursedropoff/nudges/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/coursedropoff/nudges/batchCreate or run Nudges/Batch
Create or run Nudges/Batch for lesson-level course completion drop-off detection, stalled student lists, and re-engagement nudges.
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: CoursedropoffResultRequest
Request example
Replace placeholders with your confirmed access key and your own business data.
curl -X POST "https://api.logicigniter.com/api/v1/coursedropoff/nudges/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/coursedropoff/nudges/performanceGet Nudges/Performance
Get Nudges/Performance for lesson-level course completion drop-off detection, stalled student lists, and re-engagement nudges.
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/coursedropoff/nudges/performance" \ -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/coursedropoff/studentsGet Students
Get Students for lesson-level course completion drop-off detection, stalled student lists, and re-engagement nudges.
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/coursedropoff/students" \ -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/coursedropoff/students/stalledGet Students/Stalled
Get Students/Stalled for lesson-level course completion drop-off detection, stalled student lists, and re-engagement nudges.
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/coursedropoff/students/stalled" \ -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/coursedropoff/students/{id}/progressGet Student Progress by enrollment identifier (legacy alias)
Returns progress for the enrollment identified by id. This student-shaped path is retained as a compatibility alias.
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/coursedropoff/students/:id/progress" \ -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/coursedropoff/students/{id}/dropoffsGet Students/Id/Dropoffs
Get Students/Id/Dropoffs for lesson-level course completion drop-off detection, stalled student lists, and re-engagement nudges.
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/coursedropoff/students/:id/dropoffs" \ -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/coursedropoff/enrollments/{id}/progressGet Enrollment Progress
Returns progress for the enrollment identified by id.
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/coursedropoff/enrollments/:id/progress" \ -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/coursedropoff/enrollment-progress/ingestIngest enrollment progress
Ingest courses, enrollments, and lesson progress for drop-off analysis.
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/coursedropoff/enrollment-progress/ingest" \
-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
CoursedropoffResultRequest
| Field | Type | Notes |
|---|---|---|
source_idrequired | string | |
workspace_id | string | |
notes | string | |
filters | object |
CoursedropoffResult
| 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) |
CoursedropoffResultResponse
| Field | Type | Notes |
|---|---|---|
datarequired | CoursedropoffResult | |
items | array<CoursedropoffResult> | |
next_page_token | string |
CoursedropoffStudentProgressResponse
| Field | Type | Notes |
|---|---|---|
datarequired | CoursedropoffStudentProgress |
CoursedropoffStudentProgress
| Field | Type | Notes |
|---|---|---|
idrequired | string | |
student_idrequired | string | |
course_idrequired | string | |
completion_pctrequired | number (double) | |
segmentrequired | string | |
last_activity_at | string (date-time) | |
enrolled_at | string (date-time) |
CoursedropoffCourseAnalyticsResponse
| Field | Type | Notes |
|---|---|---|
datarequired | CoursedropoffCourseAnalytics |
CoursedropoffCourseAnalytics
| Field | Type | Notes |
|---|---|---|
idrequired | string | |
course_idrequired | string | |
completion_raterequired | number (double) | |
avg_time_to_complete_daysrequired | number (double) | |
drop_off_pointsrequired | array<CoursedropoffDropOffPoint> |
CoursedropoffDropOffPoint
| Field | Type | Notes |
|---|---|---|
lesson_idrequired | string | |
lesson_orderrequired | integer | |
drop_off_countrequired | integer | |
drop_off_pctrequired | number (double) |
ErrorResponse
| Field | Type | Notes |
|---|---|---|
coderequired | string | |
messagerequired | string | |
request_id | string |
CourseDropoffStudentSummary
| Field | Type | Notes |
|---|---|---|
idrequired | string | |
student_idrequired | string | |
emailrequired | string | |
completion_pctrequired | number (double) | |
segmentrequired | string |
CourseDropoffStudentsResponse
| Field | Type | Notes |
|---|---|---|
itemsrequired | array<CourseDropoffStudentSummary> | |
next_page_tokenrequired | string | |
total_countrequired | integer (int32) |
CourseDropoffNudgeResult
| Field | Type | Notes |
|---|---|---|
idrequired | string | |
successrequired | boolean | |
sent_at | string (date-time) |
CourseDropoffNudgePerformance
| Field | Type | Notes |
|---|---|---|
idrequired | string | |
total_sentrequired | integer (int32) | |
openedrequired | integer (int32) | |
resumedrequired | integer (int32) | |
reengagement_raterequired | number (double) |
CourseDropoffSyncResult
| Field | Type | Notes |
|---|---|---|
id | string | |
courses_synced | integer (int32) | |
enrollments_synced | integer (int32) |
CourseDropoffCourse
| Field | Type | Notes |
|---|---|---|
id | string | |
title | string | |
lesson_count | integer (int32) | |
student_count | integer (int32) | |
completion_rate | number (double) |
CourseDropoffCoursesResponse
| Field | Type | Notes |
|---|---|---|
itemsrequired | array<CourseDropoffCourse> | |
next_page_tokenrequired | string | |
total_countrequired | integer (int32) |
CourseDropoffStalledStudentsResponse
| Field | Type | Notes |
|---|---|---|
itemsrequired | array<CoursedropoffStudentProgress> | |
next_page_tokenrequired | string | |
total_countrequired | integer (int32) |
CourseDropoffDropOffPointsResponse
| Field | Type | Notes |
|---|---|---|
itemsrequired | array<CoursedropoffDropOffPoint> |
CourseDropoffBatchNudgeResult
| Field | Type | Notes |
|---|---|---|
id | string | |
nudged_count | integer (int32) |
CourseDropoffIngestEnrollmentProgressResult
| Field | Type | Notes |
|---|---|---|
idrequired | string | |
courses_ingestedrequired | integer | |
enrollments_ingestedrequired | integer | |
progress_ingestedrequired | integer |
CoursedropoffCustomer
| 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) |
CoursedropoffCustomersResponse
| Field | Type | Notes |
|---|---|---|
customersrequired | array<CoursedropoffCustomer> | |
next_page_tokenrequired | string | |
total_countrequired | integer |
CoursedropoffCreateCustomerRequest
| Field | Type | Notes |
|---|---|---|
email | string | |
name | string | |
plan | string |
CoursedropoffUpdateCustomerRequest
| Field | Type | Notes |
|---|---|---|
name | string | |
plan | string | |
status | string |
CourseDropoffIngestEnrollmentProgressRequest
| Field | Type | Notes |
|---|---|---|
courses | array<CourseDropoffCourseInput> | |
enrollments | array<CourseDropoffEnrollmentInput> | |
progress | array<CourseDropoffProgressInput> |
CourseDropoffCourseInput
| Field | Type | Notes |
|---|---|---|
course_id | string | |
title | string | |
lesson_count | integer |
CourseDropoffEnrollmentInput
| Field | Type | Notes |
|---|---|---|
enrollment_id | string | |
course_id | string | |
student_id | string | |
student_email | string | |
student_name | string | |
enrolled_at | string (date-time) | |
completed_at | string (date-time) | |
status | string |
CourseDropoffProgressInput
| Field | Type | Notes |
|---|---|---|
enrollment_id | string | |
course_id | string | |
student_id | string | |
lesson_id | string | |
lesson_order | integer | |
completed_at | string (date-time) | |
time_spent_minutes | integer |

