Skip to main content

Public REST/JSON reference

Onboarding Tracker API

Define multi-step onboarding flows (each step is a milestone with an expected_hours target), measure each user's progress through the flow, surface the stalled users, and trigger nudges to reactivate them. The funnel view exposes drop-off percentages per milestone — exactly the data your activation team needs to fix the highest-impact step. Part of the Logic Igniter SaaS Growth & Retention bundle.

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.com

Auth

Authorization: Bearer YOUR_API_KEY

Version

OpenAPI 3.0.3 · 1.0.0

Operations rendered

14

Response models rendered

23

GET/api/v1/onboardtracker/customers

List customers

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

NameInTypeNotes
page_sizequeryinteger
page_tokenquerystring

Request example

Replace placeholders with your confirmed access key and your own business data.

curl -X GET "https://api.logicigniter.com/api/v1/onboardtracker/customers" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Accept: application/json"

Responses

Page of customers

Missing or invalid API key.

POST/api/v1/onboardtracker/customers

Provision a customer

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: CreateCustomerRequest

Sample JSON payload for evaluation.

{
  "email": "[email protected]",
  "name": "Example Inc."
}

Request example

Replace placeholders with your confirmed access key and your own business data.

curl -X POST "https://api.logicigniter.com/api/v1/onboardtracker/customers" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -d '{"email":"[email protected]","name":"Example Inc."}'

Responses

Customer created or returned

Invalid email or missing name

Missing or invalid API key.

GET/api/v1/onboardtracker/customers/{id}

Get a customer 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

NameInTypeNotes
idrequiredpathstring (uuid)

Request example

Replace placeholders with your confirmed access key and your own business data.

curl -X GET "https://api.logicigniter.com/api/v1/onboardtracker/customers/:id" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Accept: application/json"

Responses

Customer record

Missing or invalid API key.

Customer not found

PUT/api/v1/onboardtracker/customers/{id}

Update a customer

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

NameInTypeNotes
idrequiredpathstring (uuid)

Request body (required)

Schema: UpdateCustomerRequest

Request example

Replace placeholders with your confirmed access key and your own business data.

curl -X PUT "https://api.logicigniter.com/api/v1/onboardtracker/customers/:id" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -d '{}'

Responses

Updated customer

Invalid update

Missing or invalid API key.

Customer not found

GET/api/v1/onboardtracker/flows

List flows

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/onboardtracker/flows" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Accept: application/json"

Responses

Missing or invalid API key.

POST/api/v1/onboardtracker/flows

Create a flow

Define an onboarding flow as an ordered list of milestones. Each milestone is named, mapped to an event_name your product fires, and has an expected_hours target — users who don't reach the milestone within that window are flagged STALLED.

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: CreateFlowRequest

Sample JSON payload for evaluation.

{
  "name": "self-serve-saas-trial",
  "description": "Standard trial onboarding flow.",
  "milestones": [
    {
      "name": "signup",
      "event_name": "user.signed_up",
      "expected_hours": 0,
      "order": 1
    },
    {
      "name": "first-project",
      "event_name": "project.created",
      "expected_hours": 24,
      "order": 2
    },
    {
      "name": "first-invite",
      "event_name": "user.invited",
      "expected_hours": 72,
      "order": 3
    }
  ]
}

Request example

Replace placeholders with your confirmed access key and your own business data.

curl -X POST "https://api.logicigniter.com/api/v1/onboardtracker/flows" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -d '{"name":"self-serve-saas-trial","description":"Standard trial onboarding flow.","milestones":[{"name":"signup","event_name":"user.signed_up","expected_hours":0,"order":1},{"name":"first-project","event_name":"project.created","expected_hours":24,"order":2},{"name":"first-invite","event_name":"user.invited","expected_hours":72,"order":3}]}'

Responses

Flow created

Missing name or empty milestones

Missing or invalid API key.

Endpoint requires an active subscription. Free tier covers 1 flow with daily progress evaluation; paid plans unlock unlimited flows, real-time progress, manual completion, and nudge dispatch.

PUT/api/v1/onboardtracker/flows/{id}

Update a flow

Replace a flow's milestone sequence. Existing user progress is re-evaluated against the new milestones.

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

NameInTypeNotes
idrequiredpathstring (uuid)

Request body (required)

Schema: UpdateFlowRequest

Request example

Replace placeholders with your confirmed access key and your own business data.

curl -X PUT "https://api.logicigniter.com/api/v1/onboardtracker/flows/:id" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -d '{}'

Responses

Updated flow

Invalid milestone order or duplicates

Missing or invalid API key.

Flow not found

GET/api/v1/onboardtracker/flows/{id}/funnel

Funnel data for a flow

Per-milestone users_reached counts and drop_off_pct between consecutive milestones. The standard view your activation team uses to find the highest-impact step to fix.

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

NameInTypeNotes
idrequiredpathstring (uuid)

Request example

Replace placeholders with your confirmed access key and your own business data.

curl -X GET "https://api.logicigniter.com/api/v1/onboardtracker/flows/:id/funnel" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Accept: application/json"

Responses

Funnel data

Missing or invalid API key.

Flow not found

GET/api/v1/onboardtracker/users/{user_id}/progress

Get a user's progress through a flow

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

NameInTypeNotes
user_idrequiredpathstring (uuid)
flow_idquerystring (uuid)If omitted, uses the workspace's default flow.

Request example

Replace placeholders with your confirmed access key and your own business data.

curl -X GET "https://api.logicigniter.com/api/v1/onboardtracker/users/:user_id/progress" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Accept: application/json"

Responses

User progress

Missing or invalid API key.

User or flow not found

POST/api/v1/onboardtracker/users/{user_id}/complete

Manually mark a milestone complete

Override the event-based progress engine and force-complete a milestone for a user. Useful for service-led onboarding when the user did the action out-of-band (e.g. on a sales call).

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

NameInTypeNotes
user_idrequiredpathstring (uuid)

Request body (required)

Schema: CompleteRequest

Sample JSON payload for evaluation.

{
  "milestone_id": "11111111-1111-1111-1111-111111111111"
}

Request example

Replace placeholders with your confirmed access key and your own business data.

curl -X POST "https://api.logicigniter.com/api/v1/onboardtracker/users/:user_id/complete" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -d '{"milestone_id":"11111111-1111-1111-1111-111111111111"}'

Responses

Milestone marked complete

Missing milestone_id

Missing or invalid API key.

Endpoint requires an active subscription. Free tier covers 1 flow with daily progress evaluation; paid plans unlock unlimited flows, real-time progress, manual completion, and nudge dispatch.

User or milestone not found

GET/api/v1/onboardtracker/users/stalled

List stalled users

Workspace-wide list of users who haven't reached their next milestone within the expected_hours window. Sorted descending by hours_stalled. Use this list to drive a nudge campaign.

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

NameInTypeNotes
flow_idquerystring (uuid)
page_sizequeryinteger
page_tokenquerystring

Request example

Replace placeholders with your confirmed access key and your own business data.

curl -X GET "https://api.logicigniter.com/api/v1/onboardtracker/users/stalled" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Accept: application/json"

Responses

Stalled users

Missing or invalid API key.

GET/api/v1/onboardtracker/milestones/{milestone_id}/users

List users currently at a milestone

Snapshot of which users have current_milestone_id == milestone_id — useful for cohort-segmented experiments.

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

NameInTypeNotes
milestone_idrequiredpathstring (uuid)
page_sizequeryinteger
page_tokenquerystring

Request example

Replace placeholders with your confirmed access key and your own business data.

curl -X GET "https://api.logicigniter.com/api/v1/onboardtracker/milestones/:milestone_id/users" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Accept: application/json"

Responses

Users at milestone

Missing or invalid API key.

Milestone not found

POST/api/v1/onboardtracker/users/{user_id}/nudge

Trigger a nudge for a stalled user

Send a reactivation nudge to a user. Idempotent within a 24-hour window per (user_id, milestone_id) pair.

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

NameInTypeNotes
user_idrequiredpathstring (uuid)

Request body (required)

Schema: TriggerNudgeRequest

Sample JSON payload for evaluation.

{
  "milestone_id": "11111111-1111-1111-1111-111111111111"
}

Request example

Replace placeholders with your confirmed access key and your own business data.

curl -X POST "https://api.logicigniter.com/api/v1/onboardtracker/users/:user_id/nudge" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -d '{"milestone_id":"11111111-1111-1111-1111-111111111111"}'

Responses

Nudge sent

Missing milestone_id

Missing or invalid API key.

Endpoint requires an active subscription. Free tier covers 1 flow with daily progress evaluation; paid plans unlock unlimited flows, real-time progress, manual completion, and nudge dispatch.

User or milestone not found

GET/api/v1/onboardtracker/nudges/performance

Aggregate nudge performance

Top-line funnel: total_sent → opened → clicked → reactivated, plus the resulting reactivation_rate. Reactivation = user reached the next milestone within 7 days of the nudge.

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/onboardtracker/nudges/performance" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Accept: application/json"

Responses

Performance metrics

Missing or invalid API key.

Data models

Error

FieldTypeNotes
errorrequiredstring

ProgressStatus

MilestoneDef

FieldTypeNotes
namerequiredstring
event_namerequiredstring
expected_hoursinteger
orderrequiredinteger

Milestone

FieldTypeNotes
idstring (uuid)
namestring
event_namestring
expected_hoursinteger
orderinteger

CreateFlowRequest

FieldTypeNotes
namerequiredstring
descriptionstring
milestonesrequiredarray<MilestoneDef>

UpdateFlowRequest

FieldTypeNotes
namestring
milestonesarray<MilestoneDef>

OnboardingFlow

FieldTypeNotes
idstring (uuid)
namestring
descriptionstring
activeboolean
milestonesarray<Milestone>

FlowsResponse

FieldTypeNotes
itemsarray<OnboardingFlow>

FunnelStep

FieldTypeNotes
milestone_idstring (uuid)
namestring
users_reachedinteger
drop_off_pctnumber (double)

FunnelData

FieldTypeNotes
idstring (uuid)
stepsarray<FunnelStep>

UserProgress

FieldTypeNotes
idstring (uuid)
user_idstring (uuid)
flow_idstring (uuid)
current_milestone_idstring (uuid)
statusProgressStatus
completion_pctnumber (double)
started_atstring (date-time)
completed_atstring (date-time)

StalledUser

FieldTypeNotes
user_idstring (uuid)
emailstring (email)
milestone_idstring (uuid)
hours_stalledinteger

StalledUsersResponse

FieldTypeNotes
itemsarray<StalledUser>
next_page_tokenstring
total_countinteger

CompleteRequest

FieldTypeNotes
milestone_idrequiredstring (uuid)

CompleteResult

FieldTypeNotes
idstring (uuid)
successboolean

UsersResponse

FieldTypeNotes
itemsarray<UserProgress>
next_page_tokenstring
total_countinteger

TriggerNudgeRequest

FieldTypeNotes
milestone_idrequiredstring (uuid)

NudgeResult

FieldTypeNotes
idstring (uuid)
successboolean
sent_atstring (date-time)

NudgePerformance

FieldTypeNotes
idstring (uuid)
total_sentinteger
openedinteger
clickedinteger
reactivatedinteger
reactivation_ratenumber (double)

CreateCustomerRequest

FieldTypeNotes
emailrequiredstring (email)
namerequiredstring

UpdateCustomerRequest

FieldTypeNotes
emailstring (email)
namestring

Customer

FieldTypeNotes
idstring (uuid)
emailstring (email)
namestring
created_atstring (date-time)

CustomersResponse

FieldTypeNotes
itemsarray<Customer>
next_page_tokenstring
total_countinteger