Skip to main content

Public REST/JSON reference

Churn Risk API

Before an account churns, it goes quiet — login frequency drops, support volume spikes, invoice cycles lengthen. This API ingests billing/support/usage signals from your stack, scores any account 0–100 on those signals, returns the top three drivers, and recommends a CSM playbook (outreach / account review / executive escalation / self-serve campaign). Track interventions, measure outcomes, prove retention impact. 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

16

Response models rendered

24

GET/api/v1/churnrisk/health

Service liveness

Liveness probe — returns 200 if the service is reachable.

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/churnrisk/health" \
  -H "Accept: application/json"

Responses

200

Service healthy

GET/api/v1/churnrisk/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/churnrisk/customers" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Accept: application/json"

Responses

Page of customers

Missing or invalid API key.

POST/api/v1/churnrisk/customers

Provision a customer

Idempotent customer provision.

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/churnrisk/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/churnrisk/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/churnrisk/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/churnrisk/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/churnrisk/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/churnrisk/accounts/{account_id}/risk

Get risk for one account

Returns the composite churn-risk score (0–100) plus per-source sub-scores (billing/support/usage), the resulting tier, and when the score was last computed.

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
account_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/churnrisk/accounts/:account_id/risk" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Accept: application/json"

Responses

Account risk

Missing or invalid API key.

Endpoint requires an active subscription. Free tier covers signal listing for up to 50 accounts; paid plans unlock unlimited scoring, recalculation, playbook recommendations, and intervention tracking.

Account not found or never scored

GET/api/v1/churnrisk/risk-scores

List scored accounts

Workspace-wide list of scored accounts. Optionally filter to a single tier — most useful when wiring a `WATCH+AT_RISK+CRITICAL` queue into your CSM playbook.

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
tier_filterqueryRiskTier
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/churnrisk/risk-scores" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Accept: application/json"

Responses

Page of account risks

Missing or invalid API key.

GET/api/v1/churnrisk/accounts/{account_id}/risk-trend

Risk score trend for an account

Time-series of the account's composite score and tier. Useful for showing whether an intervention moved the needle.

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
account_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/churnrisk/accounts/:account_id/risk-trend" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Accept: application/json"

Responses

Trend points

Missing or invalid API key.

Account not found

POST/api/v1/churnrisk/accounts/{account_id}/recalculate

Force a recalculation

Trigger an immediate re-score for an account using the latest signals. Useful right after a known signal change (e.g. just resolved a support escalation).

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
account_idrequiredpathstring (uuid)

Request example

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

curl -X POST "https://api.logicigniter.com/api/v1/churnrisk/accounts/:account_id/recalculate" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Accept: application/json"

Responses

Recalculation result

Missing or invalid API key.

Endpoint requires an active subscription. Free tier covers signal listing for up to 50 accounts; paid plans unlock unlimited scoring, recalculation, playbook recommendations, and intervention tracking.

Account not found

GET/api/v1/churnrisk/accounts/{account_id}/signals

List all raw signals for an account

Paginated stream of every individual signal recorded for the account — useful for audit trails and debugging the score.

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
account_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/churnrisk/accounts/:account_id/signals" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Accept: application/json"

Responses

Page of signals

Missing or invalid API key.

Account not found

GET/api/v1/churnrisk/accounts/{account_id}/signals/billing

Billing signals for an account

Aggregated billing-source signals: downgrades, failed payments, current MRR (cents), upcoming renewal date.

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
account_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/churnrisk/accounts/:account_id/signals/billing" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Accept: application/json"

Responses

Billing signals

Missing or invalid API key.

Account not found

GET/api/v1/churnrisk/accounts/{account_id}/signals/support

Support signals for an account

Aggregated support-source signals: ticket volume in the last 30 days, average satisfaction (CSAT), escalation count.

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
account_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/churnrisk/accounts/:account_id/signals/support" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Accept: application/json"

Responses

Support signals

Missing or invalid API key.

Account not found

GET/api/v1/churnrisk/accounts/{account_id}/signals/usage

Usage signals for an account

Aggregated usage-source signals: 30-day login count, feature breadth percentage, session-duration trend.

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
account_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/churnrisk/accounts/:account_id/signals/usage" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Accept: application/json"

Responses

Usage signals

Missing or invalid API key.

Account not found

GET/api/v1/churnrisk/accounts/{account_id}/playbook

Recommended playbook for an account

Returns the best next-action playbook (CSM outreach / account review / executive escalation / self-serve campaign) plus a description and a checklist of action items.

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
account_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/churnrisk/accounts/:account_id/playbook" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Accept: application/json"

Responses

Recommended playbook

Missing or invalid API key.

Endpoint requires an active subscription. Free tier covers signal listing for up to 50 accounts; paid plans unlock unlimited scoring, recalculation, playbook recommendations, and intervention tracking.

Account not found

POST/api/v1/churnrisk/accounts/{account_id}/interventions

Record an intervention

Log that you've executed a playbook against an account. Returns an intervention id used for outcome lookup later.

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
account_idrequiredpathstring (uuid)

Request body (required)

Schema: InterventionRequest

Sample JSON payload for evaluation.

{
  "playbook_type": "PLAYBOOK_TYPE_CSM_OUTREACH"
}

Request example

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

curl -X POST "https://api.logicigniter.com/api/v1/churnrisk/accounts/:account_id/interventions" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -d '{"playbook_type":"PLAYBOOK_TYPE_CSM_OUTREACH"}'

Responses

Intervention recorded

Invalid playbook_type

Missing or invalid API key.

Endpoint requires an active subscription. Free tier covers signal listing for up to 50 accounts; paid plans unlock unlimited scoring, recalculation, playbook recommendations, and intervention tracking.

Account not found

GET/api/v1/churnrisk/interventions/{intervention_id}/outcome

Outcome of a recorded intervention

Compares the score-before with the score-after the intervention and returns an outcome label (IMPROVED / DECLINED / UNCHANGED / PENDING).

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
intervention_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/churnrisk/interventions/:intervention_id/outcome" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Accept: application/json"

Responses

Intervention outcome

Missing or invalid API key.

Intervention not found

Data models

Error

FieldTypeNotes
errorrequiredstring

RiskTier

PlaybookType

OutcomeType

SignalSource

SignalType

AccountRisk

FieldTypeNotes
idstring (uuid)
account_idstring (uuid)
namestring
composite_scorenumber (double)
billing_scorenumber (double)
support_scorenumber (double)
usage_scorenumber (double)
tierRiskTier
scored_atstring (date-time)

RiskScoresResponse

FieldTypeNotes
itemsarray<AccountRisk>
next_page_tokenstring
total_countinteger

RiskDataPoint

FieldTypeNotes
scorenumber (double)
tierRiskTier
recorded_atstring (date-time)

RiskTrend

FieldTypeNotes
idstring (uuid)
account_idstring (uuid)
pointsarray<RiskDataPoint>

RecalculateResult

FieldTypeNotes
idstring (uuid)
new_scorenumber (double)
new_tierRiskTier

RiskSignal

FieldTypeNotes
idstring (uuid)
account_idstring (uuid)
signal_sourceSignalSource
signal_typeSignalType
signal_valuenumber (double)
recorded_atstring (date-time)

SignalsResponse

FieldTypeNotes
itemsarray<RiskSignal>
next_page_tokenstring
total_countinteger

BillingSignals

FieldTypeNotes
idstring (uuid)
has_downgradeboolean
has_failed_paymentboolean
mrr_centsinteger (int64)
renewal_datestring (date-time)

SupportSignals

FieldTypeNotes
idstring (uuid)
ticket_count_30dinteger
avg_satisfactionnumber (double)
escalationsinteger

UsageSignals

FieldTypeNotes
idstring (uuid)
login_count_30dinteger
feature_breadth_pctnumber (double)
session_duration_trendnumber (double)

Playbook

FieldTypeNotes
idstring (uuid)
playbook_typePlaybookType
descriptionstring
action_itemsarray<string>

InterventionRequest

FieldTypeNotes
playbook_typerequiredPlaybookType

InterventionResult

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

InterventionOutcome

FieldTypeNotes
idstring (uuid)
score_beforenumber (double)
score_afternumber (double)
outcomeOutcomeType

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