Public REST/JSON reference
Feature Nudge API
Find users who haven't adopted a high-value feature, generate the right nudge copy for their cohort, dispatch it through the channel that fits the channel context (in-app modal, email, push), then measure adoption lift. Track gaps against cohort benchmarks so you know when an under-used feature is a discovery problem vs a product problem. 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.comAuth
Authorization: Bearer YOUR_API_KEYVersion
OpenAPI 3.0.3 · 1.0.0Operations rendered
14
Response models rendered
24
/api/v1/featurenudge/customersList 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
| 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/featurenudge/customers" \ -H "Authorization: Bearer YOUR_API_KEY" \ -H "Accept: application/json"
Responses
Page of customers
401ErrorMissing or invalid API key.
/api/v1/featurenudge/customersProvision 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/featurenudge/customers" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-d '{"email":"[email protected]","name":"Example Inc."}'/api/v1/featurenudge/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
| Name | In | Type | Notes |
|---|---|---|---|
idrequired | path | string (uuid) |
Request example
Replace placeholders with your confirmed access key and your own business data.
curl -X GET "https://api.logicigniter.com/api/v1/featurenudge/customers/:id" \ -H "Authorization: Bearer YOUR_API_KEY" \ -H "Accept: application/json"
/api/v1/featurenudge/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
| Name | In | Type | Notes |
|---|---|---|---|
idrequired | path | string (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/featurenudge/customers/:id" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-d '{}'/api/v1/featurenudge/featuresList registered features
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/featurenudge/features" \ -H "Authorization: Bearer YOUR_API_KEY" \ -H "Accept: application/json"
Responses
Page of features
401ErrorMissing or invalid API key.
/api/v1/featurenudge/featuresRegister a feature
Register a product feature you want to track adoption on. The expected_adoption_pct anchors the gap calculation (actual vs expected); ValueTier drives the rank order in the nudge queue (HIGH first).
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: RegisterFeatureRequest
Sample JSON payload for evaluation.
{
"name": "csv-export",
"category": "FEATURE_CATEGORY_REPORTING",
"value_tier": "VALUE_TIER_HIGH",
"expected_adoption_pct": 65
}Request example
Replace placeholders with your confirmed access key and your own business data.
curl -X POST "https://api.logicigniter.com/api/v1/featurenudge/features" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-d '{"name":"csv-export","category":"FEATURE_CATEGORY_REPORTING","value_tier":"VALUE_TIER_HIGH","expected_adoption_pct":65}'/api/v1/featurenudge/features/{id}/adoptionPer-feature adoption rate
Adoption rate (pct), total addressable users, and how many have adopted the feature so far.
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 (uuid) |
Request example
Replace placeholders with your confirmed access key and your own business data.
curl -X GET "https://api.logicigniter.com/api/v1/featurenudge/features/:id/adoption" \ -H "Authorization: Bearer YOUR_API_KEY" \ -H "Accept: application/json"
Responses
/api/v1/featurenudge/users/{id}/adoptionPer-user adoption view
Returns each registered feature's usage_count_30d for this user plus first/last-used timestamps.
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 (uuid) |
Request example
Replace placeholders with your confirmed access key and your own business data.
curl -X GET "https://api.logicigniter.com/api/v1/featurenudge/users/:id/adoption" \ -H "Authorization: Bearer YOUR_API_KEY" \ -H "Accept: application/json"
Responses
/api/v1/featurenudge/adoption/gapsAdoption gaps across all users
Workspace-wide list of (user, feature) pairs ranked by gap_score — how far below the expected_adoption_pct this user is for that feature. Pull this list to drive the next batch of 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 |
|---|---|---|---|
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/featurenudge/adoption/gaps" \ -H "Authorization: Bearer YOUR_API_KEY" \ -H "Accept: application/json"
Responses
200GapsResponsePage of gaps
401ErrorMissing or invalid API key.
/api/v1/featurenudge/cohorts/{key}/benchmarksCohort adoption benchmarks
Per-feature adoption rate within a cohort (e.g. plan = pro, role = admin, region = US). Useful for separating "this user hasn't adopted X" from "nobody in their cohort uses X".
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 |
|---|---|---|---|
keyrequired | 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/featurenudge/cohorts/:key/benchmarks" \ -H "Authorization: Bearer YOUR_API_KEY" \ -H "Accept: application/json"
Responses
/api/v1/featurenudge/nudges/generateGenerate a nudge
Render the nudge content (headline, body, CTA) for a (user, feature) pair using the user's history and the feature's promise. Status defaults to QUEUED — call /dispatch to actually send.
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: GenerateNudgeRequest
Sample JSON payload for evaluation.
{
"user_id": "11111111-1111-1111-1111-111111111111",
"feature_id": "22222222-2222-2222-2222-222222222222"
}Request example
Replace placeholders with your confirmed access key and your own business data.
curl -X POST "https://api.logicigniter.com/api/v1/featurenudge/nudges/generate" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-d '{"user_id":"11111111-1111-1111-1111-111111111111","feature_id":"22222222-2222-2222-2222-222222222222"}'Responses
/api/v1/featurenudge/nudges/{id}/dispatchDispatch a nudge
Send the generated nudge through its assigned channel. Idempotent — calling twice on the same nudge returns the original dispatch result.
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 (uuid) |
Request example
Replace placeholders with your confirmed access key and your own business data.
curl -X POST "https://api.logicigniter.com/api/v1/featurenudge/nudges/:id/dispatch" \ -H "Authorization: Bearer YOUR_API_KEY" \ -H "Accept: application/json"
/api/v1/featurenudge/nudgesList active nudges
Paginated list of nudges currently in the system (QUEUED / PENDING / DISPATCHED / VIEWED / CLICKED / DISMISSED).
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/featurenudge/nudges" \ -H "Authorization: Bearer YOUR_API_KEY" \ -H "Accept: application/json"
Responses
Page of nudges
401ErrorMissing or invalid API key.
/api/v1/featurenudge/nudges/performanceAggregate nudge performance
Top-line funnel: total_sent → viewed → clicked → adopted, plus the resulting adoption_rate.
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/featurenudge/nudges/performance" \ -H "Authorization: Bearer YOUR_API_KEY" \ -H "Accept: application/json"
Responses
Performance metrics
401ErrorMissing or invalid API key.
Data models
Error
| Field | Type | Notes |
|---|---|---|
errorrequired | string |
FeatureCategory
ValueTier
NudgeStatus
RegisterFeatureRequest
| Field | Type | Notes |
|---|---|---|
namerequired | string | |
category | FeatureCategory | |
value_tier | ValueTier | |
expected_adoption_pct | number (double) |
Feature
| Field | Type | Notes |
|---|---|---|
id | string (uuid) | |
name | string | |
category | FeatureCategory | |
value_tier | ValueTier | |
expected_adoption_pct | number (double) |
FeaturesResponse
| Field | Type | Notes |
|---|---|---|
items | array<Feature> | |
next_page_token | string | |
total_count | integer |
FeatureAdoption
| Field | Type | Notes |
|---|---|---|
id | string (uuid) | |
feature_id | string (uuid) | |
adoption_rate_pct | number (double) | |
total_users | integer | |
adopted_users | integer |
FeatureUsage
| Field | Type | Notes |
|---|---|---|
feature_id | string (uuid) | |
name | string | |
usage_count_30d | integer | |
first_used_at | string (date-time) | |
last_used_at | string (date-time) |
UserAdoption
| Field | Type | Notes |
|---|---|---|
id | string (uuid) | |
user_id | string (uuid) | |
features | array<FeatureUsage> |
AdoptionGap
| Field | Type | Notes |
|---|---|---|
user_id | string (uuid) | |
feature_id | string (uuid) | |
gap_score | number (double) | |
cohort | string | |
detected_at | string (date-time) |
GapsResponse
| Field | Type | Notes |
|---|---|---|
items | array<AdoptionGap> | |
next_page_token | string | |
total_count | integer |
FeatureBenchmark
| Field | Type | Notes |
|---|---|---|
feature_id | string (uuid) | |
adoption_rate_pct | number (double) | |
avg_usage_count | integer |
CohortBenchmarks
| Field | Type | Notes |
|---|---|---|
id | string (uuid) | |
benchmarks | array<FeatureBenchmark> |
NudgeContent
| Field | Type | Notes |
|---|---|---|
headline | string | |
body | string | |
cta | string |
GenerateNudgeRequest
| Field | Type | Notes |
|---|---|---|
user_idrequired | string (uuid) | |
feature_idrequired | string (uuid) |
Nudge
| Field | Type | Notes |
|---|---|---|
id | string (uuid) | |
user_id | string (uuid) | |
feature_id | string (uuid) | |
channel | string | |
content | NudgeContent | |
status | NudgeStatus |
DispatchResult
| Field | Type | Notes |
|---|---|---|
id | string (uuid) | |
success | boolean | |
dispatched_at | string (date-time) |
NudgesResponse
| Field | Type | Notes |
|---|---|---|
items | array<Nudge> | |
next_page_token | string | |
total_count | integer |
NudgePerformance
| Field | Type | Notes |
|---|---|---|
id | string (uuid) | |
total_sent | integer | |
viewed | integer | |
clicked | integer | |
adopted | integer | |
adoption_rate | number (double) |
CreateCustomerRequest
| Field | Type | Notes |
|---|---|---|
emailrequired | string (email) | |
namerequired | string |
UpdateCustomerRequest
| Field | Type | Notes |
|---|---|---|
email | string (email) | |
name | string |
Customer
| Field | Type | Notes |
|---|---|---|
id | string (uuid) | |
email | string (email) | |
name | string | |
created_at | string (date-time) |
CustomersResponse
| Field | Type | Notes |
|---|---|---|
items | array<Customer> | |
next_page_token | string | |
total_count | integer |

