Skip to main content

Public REST/JSON reference

Pricing Monitor API

Track competitor pricing pages. Add a competitor's pricing URL, the watchdog parses each plan (name, price, billing period, features) on every poll, detects changes (price changed, plan added/removed, features changed), and labels them by severity. Compare any two snapshots to see exactly what shifted between Q1 and Q2. 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

13

Response models rendered

22

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

Responses

Page of customers

Missing or invalid API key.

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

List monitored pages

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

Responses

Page of monitored pages

Missing or invalid API key.

POST/api/v1/pricingmonitor/pages

Add a competitor pricing page

Register a competitor's pricing URL for ongoing monitoring. The watchdog polls at the requested check_frequency and snapshots the parsed plans. Status starts as PENDING; flips to HEALTHY after the first successful poll, UNREACHABLE if the page errors out.

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

Sample JSON payload for evaluation.

{
  "url": "https://competitor.example.com/pricing",
  "competitor_name": "Competitor Inc.",
  "check_frequency": "daily"
}

Request example

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

curl -X POST "https://api.logicigniter.com/api/v1/pricingmonitor/pages" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -d '{"url":"https://competitor.example.com/pricing","competitor_name":"Competitor Inc.","check_frequency":"daily"}'

Responses

Page added

Invalid URL or check_frequency

Missing or invalid API key.

Endpoint requires an active subscription. Free tier covers 3 monitored pages with weekly polling; paid plans unlock unlimited pages, daily polling, ad-hoc checks, and snapshot diff.

DELETE/api/v1/pricingmonitor/pages/{id}

Remove a page from monitoring

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 DELETE "https://api.logicigniter.com/api/v1/pricingmonitor/pages/:id" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Accept: application/json"

Responses

Removed

Missing or invalid API key.

Page not found

POST/api/v1/pricingmonitor/pages/{id}/check

Force an immediate check

Trigger an out-of-band poll right now (instead of waiting for the next scheduled check). Useful right after a competitor announces a launch.

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 POST "https://api.logicigniter.com/api/v1/pricingmonitor/pages/:id/check" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Accept: application/json"

Responses

Check result

Missing or invalid API key.

Endpoint requires an active subscription. Free tier covers 3 monitored pages with weekly polling; paid plans unlock unlimited pages, daily polling, ad-hoc checks, and snapshot diff.

Page not found

GET/api/v1/pricingmonitor/pages/{id}/history

Change history for a page

All PricingChange records for one page, in reverse chronological order.

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)
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/pricingmonitor/pages/:id/history" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Accept: application/json"

Responses

Change history

Missing or invalid API key.

Page not found

GET/api/v1/pricingmonitor/changes

List detected changes

Workspace-wide stream of detected changes. Optionally filter by minimum severity (e.g. only show MAJOR).

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
severityqueryChangeSeverity
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/pricingmonitor/changes" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Accept: application/json"

Responses

Page of changes

Missing or invalid API key.

GET/api/v1/pricingmonitor/changes/{id}

Get a single change with full detail

Includes competitor_name and the source url so you can link the change record to the source of truth.

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/pricingmonitor/changes/:id" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Accept: application/json"

Responses

Change detail

Missing or invalid API key.

Change not found

GET/api/v1/pricingmonitor/snapshots

Get a snapshot

Returns the parsed pricing data as captured during a single poll — both the raw parsed_data (Struct) and the structured plans list with price_cents, billing_period, and 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

NameInTypeNotes
snapshot_idrequiredquerystring (uuid)

Request example

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

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

Responses

Pricing snapshot

Missing or invalid API key.

Snapshot not found

POST/api/v1/pricingmonitor/snapshots/compare

Diff two snapshots

Returns each plan-level change between snapshots A and B (price changes, added plans, removed plans, feature changes). Useful for "what shifted between Q1 and Q2" reports.

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

Sample JSON payload for evaluation.

{
  "snapshot_a_id": "11111111-1111-1111-1111-111111111111",
  "snapshot_b_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/pricingmonitor/snapshots/compare" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -d '{"snapshot_a_id":"11111111-1111-1111-1111-111111111111","snapshot_b_id":"22222222-2222-2222-2222-222222222222"}'

Responses

Snapshot comparison

Missing snapshot id, or snapshots from different pages

Missing or invalid API key.

Endpoint requires an active subscription. Free tier covers 3 monitored pages with weekly polling; paid plans unlock unlimited pages, daily polling, ad-hoc checks, and snapshot diff.

Snapshot not found

Data models

Error

FieldTypeNotes
errorrequiredstring

ChangeSeverity

ChangeType

MonitorStatus

AddPageRequest

FieldTypeNotes
urlrequiredstring (uri)
competitor_namerequiredstring
check_frequencystring

MonitoredPage

FieldTypeNotes
idstring (uuid)
urlstring (uri)
competitor_namestring
check_frequencystring
statusMonitorStatus
last_checked_atstring (date-time)

PagesResponse

FieldTypeNotes
itemsarray<MonitoredPage>
next_page_tokenstring
total_countinteger

CheckResult

FieldTypeNotes
idstring (uuid)
changes_detectedboolean
changes_countinteger

RemoveResult

FieldTypeNotes
successboolean

PricingChange

FieldTypeNotes
idstring (uuid)
page_idstring (uuid)
change_typeChangeType
severityChangeSeverity
old_valuestring
new_valuestring
detected_atstring (date-time)

ChangesResponse

FieldTypeNotes
itemsarray<PricingChange>
next_page_tokenstring
total_countinteger

ChangeDetail

FieldTypeNotes
idstring (uuid)
page_idstring (uuid)
change_typeChangeType
severityChangeSeverity
old_valuestring
new_valuestring
competitor_namestring
urlstring (uri)
detected_atstring (date-time)

ChangeHistory

FieldTypeNotes
itemsarray<PricingChange>
next_page_tokenstring
total_countinteger

PlanData

FieldTypeNotes
plan_namestring
price_centsinteger (int64)
billing_periodstring
featuresarray<string>

PricingSnapshot

FieldTypeNotes
idstring (uuid)
page_idstring (uuid)
parsed_dataobject
plansarray<PlanData>
captured_atstring (date-time)

CompareRequest

FieldTypeNotes
snapshot_a_idrequiredstring (uuid)
snapshot_b_idrequiredstring (uuid)

SnapshotChange

FieldTypeNotes
change_typeChangeType
plan_namestring
old_valuestring
new_valuestring

SnapshotComparison

FieldTypeNotes
idstring (uuid)
changesarray<SnapshotChange>

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