Skip to main content

Public REST/JSON reference

Subscription Overlap API

Detect overlapping SaaS subscriptions across the company. Sync your card transactions to discover recurring charges, classify each by service category (Productivity / Communication / Development / Finance / etc.), and the detector flags categories where you're paying for two or three competing tools (e.g. Notion + Confluence + Coda for documentation). Per-overlap savings estimates show exactly which one to cancel. Part of the Logic Igniter Finance & Revenue Intelligence 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

12

Response models rendered

18

GET/api/v1/suboverlap/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/suboverlap/health" \
  -H "Accept: application/json"

Responses

200

Service healthy

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

Responses

Page of customers

Missing or invalid API key.

POST/api/v1/suboverlap/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/suboverlap/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/suboverlap/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/suboverlap/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/suboverlap/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/suboverlap/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

POST/api/v1/suboverlap/transactions/sync

Sync card transactions to detect subscriptions

Pull the latest transactions from the connected card/expense integration. Each recurring charge is classified, deduplicated, and turned into a Subscription record. Run on a schedule (weekly) or on-demand from your finance close.

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 POST "https://api.logicigniter.com/api/v1/suboverlap/transactions/sync" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Accept: application/json"

Responses

Sync result

Missing or invalid API key.

Endpoint requires an active subscription. Free tier covers transaction sync + listing; paid plans unlock overlap detection, manual subscriptions, and savings estimates.

Card/expense integration not configured

GET/api/v1/suboverlap/subscriptions

List subscriptions

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

Responses

Page of subscriptions

Missing or invalid API key.

POST/api/v1/suboverlap/subscriptions

Add a manual subscription

Use when a subscription doesn't show up in card history (e.g. enterprise contracts paid by wire). Provide product_name, category, amount, billing_frequency.

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

Sample JSON payload for evaluation.

{
  "product_name": "Enterprise Slack",
  "category": "SERVICE_CATEGORY_COMMUNICATION",
  "amount_cents": 250000,
  "frequency": "BILLING_FREQUENCY_MONTHLY"
}

Request example

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

curl -X POST "https://api.logicigniter.com/api/v1/suboverlap/subscriptions" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -d '{"product_name":"Enterprise Slack","category":"SERVICE_CATEGORY_COMMUNICATION","amount_cents":250000,"frequency":"BILLING_FREQUENCY_MONTHLY"}'

Responses

Subscription added

Missing product_name or invalid frequency

Missing or invalid API key.

Endpoint requires an active subscription. Free tier covers transaction sync + listing; paid plans unlock overlap detection, manual subscriptions, and savings estimates.

GET/api/v1/suboverlap/subscriptions/{sub_id}

Get subscription detail

Includes first_seen + last_charged dates so you can see how long this subscription has been active.

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
sub_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/suboverlap/subscriptions/:sub_id" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Accept: application/json"

Responses

Subscription detail

Missing or invalid API key.

Subscription not found

POST/api/v1/suboverlap/overlaps/detect

Detect category overlaps

Run the overlap detector across the current subscription list. Returns one Overlap record per category that has >1 active subscription, with the savings_potential_cents = sum of all but the cheapest.

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 POST "https://api.logicigniter.com/api/v1/suboverlap/overlaps/detect" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Accept: application/json"

Responses

Detected overlaps

Missing or invalid API key.

Endpoint requires an active subscription. Free tier covers transaction sync + listing; paid plans unlock overlap detection, manual subscriptions, and savings estimates.

GET/api/v1/suboverlap/overlaps/{overlap_id}

Get overlap detail with per-subscription features

Each OverlapSub includes the product_name, amount_cents, and detected features list — useful for choosing which subscription to keep when canceling overlaps.

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
overlap_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/suboverlap/overlaps/:overlap_id" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Accept: application/json"

Responses

Overlap detail

Missing or invalid API key.

Overlap not found

GET/api/v1/suboverlap/savings-estimate

Aggregate savings estimate

Total potential savings across all detected overlaps + count of overlap groups. The dollar number you take into the budget review.

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/suboverlap/savings-estimate" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Accept: application/json"

Responses

Savings estimate

Missing or invalid API key.

Data models

Error

FieldTypeNotes
errorrequiredstring

ServiceCategory

SubscriptionStatus

BillingFrequency

SyncResult

FieldTypeNotes
idstring (uuid)
transactions_syncedinteger

Subscription

FieldTypeNotes
idstring (uuid)
merchant_namestring
product_namestring
categoryServiceCategory
amount_centsinteger (int64)
frequencyBillingFrequency
statusSubscriptionStatus
last_chargedstring (date-time)

SubscriptionsResponse

FieldTypeNotes
itemsarray<Subscription>
next_page_tokenstring
total_countinteger

AddRequest

FieldTypeNotes
product_namerequiredstring
categoryServiceCategory
amount_centsrequiredinteger (int64)
frequencyrequiredBillingFrequency

SubscriptionDetail

FieldTypeNotes
idstring (uuid)
merchant_namestring
product_namestring
categoryServiceCategory
amount_centsinteger (int64)
frequencyBillingFrequency
first_seenstring (date-time)
last_chargedstring (date-time)

Overlap

FieldTypeNotes
idstring (uuid)
categoryServiceCategory
subscription_idsarray<string>
savings_potential_centsinteger (int64)

OverlapsResponse

FieldTypeNotes
itemsarray<Overlap>

OverlapSub

FieldTypeNotes
sub_idstring (uuid)
product_namestring
amount_centsinteger (int64)
featuresarray<string>

OverlapDetail

FieldTypeNotes
idstring (uuid)
categoryServiceCategory
subscriptionsarray<OverlapSub>
savings_potential_centsinteger (int64)

SavingsEstimate

FieldTypeNotes
idstring (uuid)
total_savings_centsinteger (int64)
overlap_countinteger

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