Public REST/JSON reference
Margin-Based Upsell Ranker API
Import product costs, calculate product margins, rank post-purchase upsell recommendations by margin contribution and affinity, and measure resulting revenue attribution. Part of the Logic Igniter E-commerce Operations 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
13
Response models rendered
17
/api/v1/marginupsell/healthService liveness
Liveness probe for Margin-Based Upsell Ranker API. Returns 200 when the public API route 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/marginupsell/health" \ -H "Accept: application/json"
Responses
200Service healthy
/api/v1/marginupsell/customersList customers
List customers record for the customer workspace used by Margin-Based Upsell Ranker API.
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/marginupsell/customers" \ -H "Authorization: Bearer YOUR_API_KEY" \ -H "Accept: application/json"
Responses
200CustomerListSuccessful response
400ErrorInvalid request payload or parameters
401ErrorMissing or invalid bearer token
403ErrorWorkspace does not have access to the ecommerce-operations bundle
404ErrorRequested resource was not found
/api/v1/marginupsell/customers/{id}Update customer
Update customer record for the customer workspace used by Margin-Based Upsell Ranker API.
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 | Id |
Request body (required)
Schema: CustomerInput
Sample JSON payload for evaluation.
{
"companyName": "Mira Home Goods",
"email": "[email protected]"
}Request example
Replace placeholders with your confirmed access key and your own business data.
curl -X PUT "https://api.logicigniter.com/api/v1/marginupsell/customers/:id" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-d '{"companyName":"Mira Home Goods","email":"[email protected]"}'/api/v1/marginupsell/rankingsList rankings
List recent ranking runs and their decision summaries.
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/marginupsell/rankings" \ -H "Authorization: Bearer YOUR_API_KEY" \ -H "Accept: application/json"
Responses
200RankingListSuccessful response
400ErrorInvalid request payload or parameters
401ErrorMissing or invalid bearer token
403ErrorWorkspace does not have access to the ecommerce-operations bundle
/api/v1/marginupsell/rankings/{id}Get ranking
Read a generated recommendation ranking by identifier.
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 | Id |
Request example
Replace placeholders with your confirmed access key and your own business data.
curl -X GET "https://api.logicigniter.com/api/v1/marginupsell/rankings/:id" \ -H "Authorization: Bearer YOUR_API_KEY" \ -H "Accept: application/json"
/api/v1/marginupsell/costs/importImport costs
Import product COGS data used to calculate contribution margin.
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: CostImportRequest
Sample JSON payload for evaluation.
{
"id": "obj_123",
"status": "READY",
"summary": "CostImportRequest"
}Request example
Replace placeholders with your confirmed access key and your own business data.
curl -X POST "https://api.logicigniter.com/api/v1/marginupsell/costs/import" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-d '{"id":"obj_123","status":"READY","summary":"CostImportRequest"}'/api/v1/marginupsell/margins/{product_id}Get product margin
Read margin inputs and computed contribution for one product.
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 |
|---|---|---|---|
product_idrequired | path | string | Product Id |
Request example
Replace placeholders with your confirmed access key and your own business data.
curl -X GET "https://api.logicigniter.com/api/v1/marginupsell/margins/:product_id" \ -H "Authorization: Bearer YOUR_API_KEY" \ -H "Accept: application/json"
/api/v1/marginupsell/marginsList margins
List margin records with optional SKU or category filters.
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/marginupsell/margins" \ -H "Authorization: Bearer YOUR_API_KEY" \ -H "Accept: application/json"
Responses
200MarginListSuccessful response
400ErrorInvalid request payload or parameters
401ErrorMissing or invalid bearer token
403ErrorWorkspace does not have access to the ecommerce-operations bundle
/api/v1/marginupsell/upsell/recommendationsGet recommendations
Return ranked upsell candidates for an order, customer, or product context.
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/marginupsell/upsell/recommendations" \ -H "Authorization: Bearer YOUR_API_KEY" \ -H "Accept: application/json"
/api/v1/marginupsell/upsell/affinity-pairsList affinity pairs
List product pairs with affinity and margin lift scores.
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/marginupsell/upsell/affinity-pairs" \ -H "Authorization: Bearer YOUR_API_KEY" \ -H "Accept: application/json"
/api/v1/marginupsell/upsell/overridesOverride ranking
Apply business rules to boost, suppress, or exclude products from upsells.
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: OverrideRequest
Sample JSON payload for evaluation.
{
"id": "obj_123",
"status": "READY",
"summary": "OverrideRequest"
}Request example
Replace placeholders with your confirmed access key and your own business data.
curl -X POST "https://api.logicigniter.com/api/v1/marginupsell/upsell/overrides" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-d '{"id":"obj_123","status":"READY","summary":"OverrideRequest"}'Responses
200OverrideRuleSuccessful response
400ErrorInvalid request payload or parameters
401ErrorMissing or invalid bearer token
403ErrorWorkspace does not have access to the ecommerce-operations bundle
/api/v1/marginupsell/analytics/performanceGet upsell performance
Measure conversion rate, average order value lift, and margin lift for upsell placements.
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/marginupsell/analytics/performance" \ -H "Authorization: Bearer YOUR_API_KEY" \ -H "Accept: application/json"
/api/v1/marginupsell/analytics/attributionGet revenue attribution
Attribute upsell revenue and margin contribution by recommendation source.
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/marginupsell/analytics/attribution" \ -H "Authorization: Bearer YOUR_API_KEY" \ -H "Accept: application/json"
Data models
Customer
| Field | Type | Notes |
|---|---|---|
idrequired | string | Example: "cus_mira_home" |
companyNamerequired | string | Example: "Mira Home Goods" |
emailrequired | string (email) | Example: "[email protected]" |
bundlerequired | string | Example: "ecommerce-operations" |
createdAt | string (date-time) |
CustomerInput
| Field | Type | Notes |
|---|---|---|
companyNamerequired | string | Example: "Mira Home Goods" |
emailrequired | string (email) | Example: "[email protected]" |
bundle | string | Example: "ecommerce-operations" |
CustomerList
| Field | Type | Notes |
|---|---|---|
customers | array<Customer> |
Error
| Field | Type | Notes |
|---|---|---|
errorrequired | string | Example: "validation failed" |
message | string | Example: "sku is required" |
requestId | string | Example: "req_01HX9E2M7K8Q4J3V" |
AffinityPairList
| Field | Type | Notes |
|---|---|---|
idrequired | string | Example: "obj_123" |
statusrequired | string | Example: "READY" |
summary | string | Example: "AffinityPairList" |
CostImportRequest
| Field | Type | Notes |
|---|---|---|
idrequired | string | Example: "obj_123" |
statusrequired | string | Example: "READY" |
summary | string | Example: "CostImportRequest" |
CostImportResult
| Field | Type | Notes |
|---|---|---|
idrequired | string | Example: "obj_123" |
statusrequired | string | Example: "READY" |
summary | string | Example: "CostImportResult" |
MarginList
| Field | Type | Notes |
|---|---|---|
idrequired | string | Example: "obj_123" |
statusrequired | string | Example: "READY" |
summary | string | Example: "MarginList" |
OverrideRequest
| Field | Type | Notes |
|---|---|---|
idrequired | string | Example: "obj_123" |
statusrequired | string | Example: "READY" |
summary | string | Example: "OverrideRequest" |
OverrideRule
| Field | Type | Notes |
|---|---|---|
idrequired | string | Example: "obj_123" |
statusrequired | string | Example: "READY" |
summary | string | Example: "OverrideRule" |
ProductMargin
| Field | Type | Notes |
|---|---|---|
idrequired | string | Example: "obj_123" |
statusrequired | string | Example: "READY" |
summary | string | Example: "ProductMargin" |
Ranking
| Field | Type | Notes |
|---|---|---|
idrequired | string | Example: "obj_123" |
statusrequired | string | Example: "READY" |
summary | string | Example: "Ranking" |
RankingList
| Field | Type | Notes |
|---|---|---|
idrequired | string | Example: "obj_123" |
statusrequired | string | Example: "READY" |
summary | string | Example: "RankingList" |
RankingRequest
| Field | Type | Notes |
|---|---|---|
idrequired | string | Example: "obj_123" |
statusrequired | string | Example: "READY" |
summary | string | Example: "RankingRequest" |
RecommendationList
| Field | Type | Notes |
|---|---|---|
idrequired | string | Example: "obj_123" |
statusrequired | string | Example: "READY" |
summary | string | Example: "RecommendationList" |
RevenueAttribution
| Field | Type | Notes |
|---|---|---|
idrequired | string | Example: "obj_123" |
statusrequired | string | Example: "READY" |
summary | string | Example: "RevenueAttribution" |
UpsellPerformance
| Field | Type | Notes |
|---|---|---|
idrequired | string | Example: "obj_123" |
statusrequired | string | Example: "READY" |
summary | string | Example: "UpsellPerformance" |

