Other
Category: Admin
Base URL: /admin/algolia
Authentication: Required
Routes: 153 routes documented
Overview#
This section documents 153 API routes for other.
⚠️ These endpoints operate on your live store.
POST/PUT/DELETEoperations here — including sync, push, resync, and cache operations — modify or delete production data, and some trigger downstream effects such as warehouse orders or customer emails.DELETEoperations are generally irreversible. Verify IDs and parameters carefully before calling them from scripts.
Quick Reference#
| Method | Endpoint | Description |
|---|---|---|
| POST | /admin/algolia |
POST /admin/algolia/index Index data to Algolia (admin only) |
| DELETE | /admin/algolia |
DELETE /admin/algolia Delete items from Algolia index |
| GET | /admin/algolia/search |
GET /admin/algolia/search Search across Algolia indexes for ... |
| GET | /admin/announcements |
Announcements published so far, newest first, plus the types... |
| POST | /admin/announcements |
Publish an announcement: POST /admin/announcements. Body: ... |
| GET | /admin/audiences |
GET /admin/audiences — list audience definitions across ever... |
| POST | /admin/audiences |
No description |
| GET | /admin/banner-options |
Choices for the banner editor's two targeting fields. WHY TH... |
| GET | /admin/banners |
GET /admin/banners?promotion_id=... |
| POST | /admin/banners |
POST /admin/banners |
| POST | /admin/banners/:id |
POST /admin/banners/:id — partial update. |
| DELETE | /admin/banners/:id |
DELETE /admin/banners/:id — soft delete. |
| POST | /admin/bundled-products |
No description |
| GET | /admin/bundled-products |
No description |
| GET | /admin/bundled-products/:id |
No description |
| PATCH | /admin/bundled-products/:id |
No description |
| DELETE | /admin/bundled-products/:id |
No description |
| GET | /admin/cancellations |
No description |
| GET | /admin/cancellations/:id |
No description |
| POST | /admin/cancellations/:id/apply-offer |
No description |
| POST | /admin/cancellations/:id/finalize |
No description |
| POST | /admin/cancellations/:id/reason |
No description |
| GET | /admin/carts |
GET /admin/carts?customer_id={id} Returns carts for a given ... |
| GET | /admin/cogs/settings |
No description |
| POST | /admin/cogs/settings |
No description |
| GET | /admin/content-page-options |
Choices for the content-page editor. WHY THIS EXISTS -------... |
| GET | /admin/content-page-settings |
GET /admin/content-page-settings?store_handle=vnsh |
| POST | /admin/content-page-settings |
POST /admin/content-page-settings |
| GET | /admin/content-pages |
GET /admin/content-pages?store_handle=vnsh |
| POST | /admin/content-pages |
POST /admin/content-pages |
| PATCH | /admin/content-pages/:id |
PATCH /admin/content-pages/:id — partial update. `store_hand... |
| DELETE | /admin/content-pages/:id |
DELETE /admin/content-pages/:id — soft delete. |
| GET | /admin/custom |
No description |
| GET | /admin/customers/:id/notes |
GET /admin/customers/:id/notes Returns all notes for a custo... |
| POST | /admin/customers/:id/notes |
POST /admin/customers/:id/notes Add a new note to a customer... |
| DELETE | /admin/customers/:id/notes/:noteId |
DELETE /admin/customers/:id/notes/:noteId Delete a specific ... |
| PUT | /admin/customers/:id/notes/:noteId |
PUT /admin/customers/:id/notes/:noteId Update a specific not... |
| POST | /admin/demo-magic-link |
No description |
| GET | /admin/disputes |
GET /admin/disputes List locally-mirrored Stripe disputes. B... |
| POST | /admin/disputes/:id/accept |
POST /admin/disputes/:id/accept Concede the dispute: the cus... |
| POST | /admin/disputes/:id/evidence |
No description |
| POST | /admin/draft-orders/:id/payment-link |
Create (or reuse) the payment link for a draft order and opt... |
| GET | /admin/draft-orders/:id/payment-link |
Read the draft order's stored payment link plus the live sta... |
| GET | /admin/dunning |
No description |
| GET | /admin/dunning/:id |
No description |
| POST | /admin/dunning/:id/mark-recovered |
No description |
| POST | /admin/dunning/:id/mark-unrecovered |
No description |
| POST | /admin/dunning/:id/retry-now |
No description |
| POST | /admin/dunning/:id/retry-schedule |
No description |
| GET | /admin/extensions |
No description |
| GET | /admin/extensions/:id |
No description |
| POST | /admin/extensions/:id/toggle |
No description |
| GET | /admin/extensions/check-enabled |
GET /admin/extensions/check-enabled?module=marketing Check i... |
| GET | /admin/extensions/check/:name |
Check if an extension is enabled GET /admin/extensions/check... |
| GET | /admin/free-shipping-report |
No description |
| GET | /admin/free-shipping-threshold |
No description |
| POST | /admin/free-shipping-threshold |
// Update the free-shipping threshold by surgically updating... |
| POST | /admin/funnel-carts/:id/line-items |
No description |
| GET | /admin/funnels |
No description |
| POST | /admin/funnels |
No description |
| GET | /admin/funnels/:id |
@swagger /admin/funnels/{id}: get: tags: [Funnels] descripti... |
| POST | /admin/funnels/:id |
@swagger /admin/funnels/{id}: post: tags: [Funnels] descript... |
| DELETE | /admin/funnels/:id |
@swagger /admin/funnels/{id}: delete: tags: [Funnels] descri... |
| GET | /admin/funnels/analytics |
@swagger /admin/funnels/analytics: get: tags: [Funnels] desc... |
| GET | /admin/funnels/pages |
@swagger /admin/funnels/pages: get: tags: [Funnels] descript... |
| POST | /admin/funnels/pages |
@swagger /admin/funnels/pages: post: tags: [Funnels] descrip... |
| GET | /admin/funnels/stages |
@swagger /admin/funnels/stages: get: tags: [Funnels] descrip... |
| POST | /admin/funnels/stages |
@swagger /admin/funnels/stages: post: tags: [Funnels] descri... |
| PUT | /admin/funnels/stages/:id |
Update an existing funnel stage |
| DELETE | /admin/funnels/stages/:id |
Delete a funnel stage |
| POST | /admin/funnels/stages/reorder |
Reorder funnel stages |
| POST | /admin/internal/checkout-context |
No description |
| POST | /admin/internal/members |
No description |
| GET | /admin/internal/members |
Snapshot of this store's federated members: every user that ... |
| GET | /admin/internal/sales-metrics |
No description |
| POST | /admin/internal/superplane-cart |
No description |
| POST | /admin/internal/unified-context |
No description |
| POST | /admin/konnektive/outbound-sync/:orderId/force |
POST /admin/konnektive/outbound-sync/:orderId/force Force im... |
| POST | /admin/konnektive/outbound-sync/:orderId/retry |
POST /admin/konnektive/outbound-sync/:orderId/retry Retry a ... |
| GET | /admin/konnektive/outbound-sync/:orderId/status |
GET /admin/konnektive/outbound-sync/:orderId/status Get sync... |
| GET | /admin/konnektive/outbound-sync/failed |
GET /admin/konnektive/outbound-sync/failed List all failed s... |
| GET | /admin/konnektive/outbound-sync/statistics |
GET /admin/konnektive/outbound-sync/statistics Get overall s... |
| GET | /admin/konnektive/product-mapping |
GET /admin/konnektive/product-mapping Get all product SKU ma... |
| POST | /admin/konnektive/product-mapping |
POST /admin/konnektive/product-mapping Add or update product... |
| DELETE | /admin/konnektive/product-mapping |
DELETE /admin/konnektive/product-mapping Remove product SKU ... |
| GET | /admin/konnektive/products |
GET /admin/konnektive/products Fetch Konnektive products fro... |
| GET | /admin/marketing |
No description |
| GET | /admin/marketing/ad-sets |
// List ad sets |
| POST | /admin/marketing/ad-sets |
// Create ad set |
| GET | /admin/marketing/ai-insights |
No description |
| GET | /admin/marketing/analytics-simple |
No description |
| GET | /admin/marketing/analytics/platforms |
No description |
| GET | /admin/marketing/attribution |
No description |
| GET | /admin/marketing/campaigns |
// List campaigns |
| POST | /admin/marketing/campaigns |
// Create campaign |
| GET | /admin/marketing/campaigns/:id |
// Get campaign by ID |
| PATCH | /admin/marketing/campaigns/:id |
// Update campaign |
| DELETE | /admin/marketing/campaigns/:id |
// Delete campaign |
| GET | /admin/marketing/campaigns/:id/insights |
// Get campaign insights |
| GET | /admin/marketing/clickhouse |
// GET /admin/marketing/clickhouse - Get ClickHouse configur... |
| POST | /admin/marketing/clickhouse |
// POST /admin/marketing/clickhouse - Save ClickHouse config... |
| DELETE | /admin/marketing/clickhouse |
// DELETE /admin/marketing/clickhouse - Remove ClickHouse co... |
| GET | /admin/marketing/creatives |
// List creatives |
| POST | /admin/marketing/creatives |
// Create creative |
| GET | /admin/marketing/credentials |
// GET - Get credentials for all platforms |
| POST | /admin/marketing/credentials |
// POST - Save credentials for a platform |
| PUT | /admin/marketing/credentials |
// PUT - Update credentials for a platform |
| DELETE | /admin/marketing/credentials |
// DELETE - Remove credentials for a platform |
| GET | /admin/marketing/customer-journey/:customerId |
// Get customer journey analysis |
| GET | /admin/marketing/dashboard |
No description |
| GET | /admin/marketing/paid-acquisition |
GET /admin/marketing/paid-acquisition Generate paid acquisit... |
| POST | /admin/marketing/paid-acquisition |
POST /admin/marketing/paid-acquisition Generate paid acquisi... |
| POST | /admin/marketing/paid-acquisition/export |
POST /admin/marketing/paid-acquisition/export Export paid ac... |
| GET | /admin/marketing/paid-acquisition/search |
GET /admin/marketing/paid-acquisition/search Search and filt... |
| POST | /admin/marketing/paid-acquisition/search |
POST /admin/marketing/paid-acquisition/search Advanced searc... |
| GET | /admin/marketing/platforms |
// Get platform overview |
| GET | /admin/marketing/simple |
No description |
| POST | /admin/marketing/sync |
// Sync campaigns from advertising platforms |
| POST | /admin/marketing/sync/campaign |
// POST - Trigger campaign sync |
| POST | /admin/marketing/sync/incremental |
// POST - Trigger incremental sync |
| GET | /admin/marketing/webhooks/facebook |
// GET endpoint for webhook verification |
| POST | /admin/marketing/webhooks/facebook |
// POST endpoint for webhook events |
| HEAD | /admin/marketing/webhooks/facebook |
// Health check endpoint |
| POST | /admin/marketing/webhooks/google |
// POST endpoint for Google Ads webhook events |
| GET | /admin/marketing/webhooks/google |
// GET endpoint for webhook verification (if Google implemen... |
| POST | /admin/marketing/webhooks/tiktok |
// POST endpoint for TikTok webhook events |
| GET | /admin/marketing/webhooks/tiktok |
// GET endpoint for webhook verification |
| HEAD | /admin/marketing/webhooks/tiktok |
// HEAD endpoint for health check |
| GET | /admin/me |
GET /admin/me Returns the currently logged-in admin user |
| GET | /admin/my-stores |
No description |
| POST | /admin/my-stores/switch |
No description |
| GET | /admin/payment-diagnostics |
GET /admin/payment-diagnostics Diagnostic endpoint to identi... |
| POST | /admin/payment-diagnostics |
POST /admin/payment-diagnostics/cleanup Force cleanup of sta... |
| POST | /admin/payments/:id/sync-stripe |
POST /admin/payments/:id/sync-stripe Syncs payment status fr... |
| GET | /admin/promotions/:id/:rule_type |
No description |
| GET | /admin/promotions/:id/rule-divergence |
No description |
| POST | /admin/promotions/:id/rule-divergence |
No description |
| GET | /admin/promotions/rule-attribute-options/:rule_type |
No description |
| GET | /admin/promotions/rule-value-options/:rule_type/:rule_attribute_id |
No description |
| GET | /admin/purchase-orders |
No description |
| POST | /admin/purchase-orders |
No description |
| GET | /admin/renewals |
No description |
| GET | /admin/renewals/:id |
No description |
| POST | /admin/renewals/:id/approve-changes |
No description |
| POST | /admin/renewals/:id/force |
No description |
| POST | /admin/renewals/:id/reject-changes |
No description |
| GET | /admin/reviews |
No description |
| POST | /admin/reviews/status |
No description |
| GET | /admin/scheduled-jobs |
No description |
| GET | /admin/scheduled-jobs/:name |
No description |
| GET | /admin/send |
Parent route for /admin/send This route handles delegation t... |
| POST | /admin/send |
No description |
| GET | /admin/send/email-templates |
GET /admin/send/email-templates List all email templates wit... |
| POST | /admin/send/email-templates |
POST /admin/send/email-templates Create a new email template |
| GET | /admin/send/email-templates/:id |
GET /admin/send/email-templates/:id Get a specific email tem... |
| PUT | /admin/send/email-templates/:id |
PUT /admin/send/email-templates/:id Update an email template |
| DELETE | /admin/send/email-templates/:id |
DELETE /admin/send/email-templates/:id Delete an email templ... |
| POST | /admin/send/email-templates/:id/preview |
POST /admin/send/email-templates/:id/preview Preview an emai... |
| POST | /admin/send/email-templates/:id/render |
POST /admin/send/email-templates/:id/render Render an email ... |
| POST | /admin/send/email-templates/validate |
POST /admin/send/email-templates/validate Validate email tem... |
| GET | /admin/site-types |
No description |
| POST | /admin/site-types |
No description |
| GET | /admin/site-types/:id |
No description |
| PATCH | /admin/site-types/:id |
No description |
| DELETE | /admin/site-types/:id |
No description |
| GET | /admin/subscription-analytics/export |
No description |
| GET | /admin/subscription-analytics/kpis |
No description |
| POST | /admin/subscription-analytics/rebuild |
No description |
| GET | /admin/subscription-analytics/trends |
No description |
| GET | /admin/subscription-logs |
No description |
| GET | /admin/subscription-logs/:id |
No description |
| GET | /admin/subscription-offers |
No description |
| POST | /admin/subscription-offers |
No description |
| GET | /admin/subscription-offers/:id |
No description |
| POST | /admin/subscription-offers/:id |
No description |
| DELETE | /admin/subscription-offers/:id |
Remove a plan offer. Until now an offer could only be disabl... |
| POST | /admin/subscription-offers/:id/toggle |
No description |
| GET | /admin/subscription-settings |
No description |
| POST | /admin/subscription-settings |
No description |
| GET | /admin/subscriptions |
No description |
| GET | /admin/subscriptions/:id |
No description |
| POST | /admin/subscriptions/:id/cancel |
No description |
| GET | /admin/subscriptions/:id/notes |
GET /admin/subscriptions/:id/notes Returns all notes for a s... |
| POST | /admin/subscriptions/:id/notes |
POST /admin/subscriptions/:id/notes Add a new note to a subs... |
| DELETE | /admin/subscriptions/:id/notes/:noteId |
DELETE /admin/subscriptions/:id/notes/:noteId Delete a speci... |
| PUT | /admin/subscriptions/:id/notes/:noteId |
PUT /admin/subscriptions/:id/notes/:noteId Update a specific... |
| POST | /admin/subscriptions/:id/pause |
No description |
| GET | /admin/subscriptions/:id/payment-method |
GET /admin/subscriptions/:id/payment-method The card a subsc... |
| POST | /admin/subscriptions/:id/payment-method |
POST /admin/subscriptions/:id/payment-method Body `{ setup_i... |
| POST | /admin/subscriptions/:id/payment-method/setup |
POST /admin/subscriptions/:id/payment-method/setup Start a c... |
| POST | /admin/subscriptions/:id/resume |
No description |
| POST | /admin/subscriptions/:id/schedule-plan-change |
No description |
| POST | /admin/subscriptions/:id/update-discount |
No description |
| POST | /admin/subscriptions/:id/update-next-cycle-discount |
No description |
| POST | /admin/subscriptions/:id/update-quantity |
No description |
| POST | /admin/subscriptions/:id/update-renewal |
No description |
| POST | /admin/subscriptions/:id/update-shipping-address |
No description |
| GET | /admin/ultracart |
GET /admin/ultracart Get UltraCart module status and statist... |
| POST | /admin/ultracart |
POST /admin/ultracart Manually sync an order to UltraCart (r... |
| POST | /admin/ultracart/force-sync |
No description |
| GET | /admin/ultracart/modification-window |
No description |
| POST | /admin/ultracart/modification-window |
POST /admin/ultracart/modification-window Reset modification... |
| GET | /admin/ultracart/scheduled |
No description |
| POST | /admin/ultracart/scheduled |
POST /admin/ultracart/scheduled Manually trigger processing ... |
| GET | /admin/ultracart/stats |
No description |
| GET | /admin/vibe |
GET /admin/vibe/* Serve Vibe SDK static files from vibe-stat... |
| GET | /admin/vibesdk/config/:siteId |
GET /admin/vibesdk/config/:siteId Get VibeSDK configuration ... |
| POST | /admin/vibesdk/proxy |
POST /admin/vibesdk/proxy Proxy requests to VibeSDK with our... |
| GET | /admin/vibesdk/sso-token |
GET /admin/vibesdk/sso-token?siteId=... Returns a short-live... |
| POST | /admin/vibesdk/validate-sso |
POST /admin/vibesdk/validate-sso Validates SSO tokens from e... |
| GET | /admin/webhook-logs |
GET /admin/webhook-logs List all webhook logs with filtering... |
| GET | /admin/webhook-logs/:id |
GET /admin/webhook-logs/:id Get a single webhook log by ID w... |
| DELETE | /admin/webhook-logs/:id |
DELETE /admin/webhook-logs/:id Delete a webhook log (for cle... |
| POST | /admin/webhook-logs/cleanup |
POST /admin/webhook-logs/cleanup Cleanup old webhook logs Bo... |
| GET | /admin/webhook-logs/providers |
GET /admin/webhook-logs/providers Get list of unique provide... |
| GET | /admin/webhook-logs/stats |
GET /admin/webhook-logs/stats Get webhook statistics and ana... |
POST Admin Algolia#
Endpoint: POST /admin/algolia
Authentication: Admin (Required)
Description#
POST /admin/algolia/index Index data to Algolia (admin only)
Request Body#
This route does not declare a validation schema, so the accepted fields are not derivable from the source. Check the handler before relying on a particular body.
Response#
Success:
{
success,
indexed,
type,
}Error (503):
{
error,
}Error (503):
{
error,
}Error (400):
{
error,
}Error (400):
{
error,
}Example Request#
curl -X POST 'https://your-store.omnicart.cc/admin/algolia' \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: application/json'DELETE Admin Algolia#
Endpoint: DELETE /admin/algolia
Authentication: Admin (Required)
Description#
DELETE /admin/algolia Delete items from Algolia index
Response#
Success:
{
success,
deleted,
type,
}Error (503):
{
error,
}Error (503):
{
error,
}Error (400):
{
error,
}Error (400):
{
error,
}Example Request#
curl -X DELETE 'https://your-store.omnicart.cc/admin/algolia' \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: application/json'GET Admin Algolia Search#
Endpoint: GET /admin/algolia/search
Authentication: Admin (Required)
Description#
GET /admin/algolia/search Search across Algolia indexes for orders, customers, or products
Response#
Success:
{
results,
query,
type,
}Error (503):
{
error,
}Error (503):
{
error,
}Error (400):
{
error,
}Error (400):
{
error,
}Error (500):
{
error,
}Example Request#
curl -X GET 'https://your-store.omnicart.cc/admin/algolia/search' \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: application/json'GET Admin Announcements#
Endpoint: GET /admin/announcements
Authentication: Admin (Required)
Description#
Announcements published so far, newest first, plus the types an operator may publish. The type list ships in the same response so the compose form never hard-codes the registry — adding a kind in src/lib/notification-types.ts makes it selectable with no admin rebuild.
Response#
Success:
{
announcements,
types,
}Also returns:
{
announcements,
types,
degraded,
}Example Request#
curl -X GET 'https://your-store.omnicart.cc/admin/announcements' \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: application/json'POST Admin Announcements#
Endpoint: POST /admin/announcements
Authentication: Admin (Required)
Description#
Publish an announcement: POST /admin/announcements. Body: { type, title, body, external_ref?, source? }. type must be a publishable id from the notification-type registry — the event types are emitted by jobs and are not forgeable here. Delivers one notification per admin, each addressed to that person, so recipients dismiss their own copy without clearing it for anyone else. Repeating a publish with the same external_ref is a 409, which is what makes a retried deploy safe. Returns the announcement as it will read back, plus a delivery block, so a publish that reached nobody is visible instead of silently looking like a success.
Request Body#
This route does not declare a validation schema, so the accepted fields are not derivable from the source. Check the handler before relying on a particular body.
Response#
Success (201):
{
announcement,
delivery,
}Error (409):
{
message,
}Error (400):
{
message,
}Error (500):
{
message,
}Example Request#
curl -X POST 'https://your-store.omnicart.cc/admin/announcements' \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: application/json'GET Admin Audiences#
Endpoint: GET /admin/audiences
Authentication: Admin (Required)
Description#
GET /admin/audiences — list audience definitions across every version. POST /admin/audiences — create a draft definition; pass publish: true to publish it in the same call. Auth follows the existing admin route pattern (src/api/admin/dunning, src/api/admin/renewals): OmniCart's built-in admin authentication guards every /admin/* route — no route-specific auth middleware here.
Response#
Success:
{
type,
message,
}Example Request#
curl -X GET 'https://your-store.omnicart.cc/admin/audiences' \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: application/json'POST Admin Audiences#
Endpoint: POST /admin/audiences
Authentication: Admin (Required)
Request Body#
This route does not declare a validation schema, so the accepted fields are not derivable from the source. Check the handler before relying on a particular body.
Response#
Success:
{
type,
message,
}Also returns (201):
{
audience_definition,
}Example Request#
curl -X POST 'https://your-store.omnicart.cc/admin/audiences' \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: application/json'GET Admin Banner-options#
Endpoint: GET /admin/banner-options
Authentication: Admin (Required)
Description#
Choices for the banner editor's two targeting fields. WHY THIS EXISTS --------------- store_handle used to be a free-text box. It is compared literally by the store endpoint, so a typo produced a banner that saved cleanly and then never appeared anywhere, with nothing on screen explaining why — and because the handle is immutable after creation, the fix was delete-and-recreate. Handles come from two places, unioned: 1. BANNER_STORE_HANDLES env — the handles this deployment serves. Set this; it is the only source that works on a tenant with no banners yet. 2. handles already present on banner rows — so an existing deployment is never locked out of its own handle by a missing env var. Sales channels come from the sales-channel module and are the FINE key: a banner with one set shows only on the surface whose publishable key maps to that channel (VNSH's LSS funnel vs its main storefront). Null = all surfaces.
Response#
Success:
{
preview_base_url,
store_handles,
sales_channels,
handles_unconfigured,
}Example Request#
curl -X GET 'https://your-store.omnicart.cc/admin/banner-options' \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: application/json'GET Admin Banners#
Endpoint: GET /admin/banners
Authentication: Admin (Required)
Description#
GET /admin/banners?promotion_id=...
Response#
Success:
{
banners,
}Example Request#
curl -X GET 'https://your-store.omnicart.cc/admin/banners' \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: application/json'POST Admin Banners#
Endpoint: POST /admin/banners
Authentication: Admin (Required)
Description#
POST /admin/banners
Request Body#
This route does not declare a validation schema, so the accepted fields are not derivable from the source. Check the handler before relying on a particular body.
Response#
Success (201):
{
banner,
}Error (400):
{
message,
}Error (400):
{
message,
}Error (400):
{
message,
}Error (400):
{
message,
}Error (400):
{
message,
}Error (400):
{
message,
}Error (500):
{
message,
}Example Request#
curl -X POST 'https://your-store.omnicart.cc/admin/banners' \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: application/json'POST Admin Banners :id#
Endpoint: POST /admin/banners/:id
Authentication: Admin (Required)
Description#
POST /admin/banners/:id — partial update.
URL Parameters#
| Parameter | Type | Required | Description |
|---|---|---|---|
id |
string | Yes | Id identifier |
Request Body#
This route does not declare a validation schema, so the accepted fields are not derivable from the source. Check the handler before relying on a particular body.
Response#
Success:
{
banner,
}Error (400):
{
message,
}Error (404):
{
message,
}Error (400):
{
message,
}Error (400):
{
message,
}Error (400):
{
message,
}Error (500):
{
message,
}Example Request#
curl -X POST 'https://your-store.omnicart.cc/admin/banners/:id' \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: application/json'DELETE Admin Banners :id#
Endpoint: DELETE /admin/banners/:id
Authentication: Admin (Required)
Description#
DELETE /admin/banners/:id — soft delete.
URL Parameters#
| Parameter | Type | Required | Description |
|---|---|---|---|
id |
string | Yes | Id identifier |
Response#
Success:
{
id,
object,
deleted,
}Error (500):
{
message,
}Example Request#
curl -X DELETE 'https://your-store.omnicart.cc/admin/banners/:id' \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: application/json'POST Admin Bundled-products#
Endpoint: POST /admin/bundled-products
Authentication: Admin (Required)
Request Body#
| Field | Type | Required |
|---|---|---|
title |
string | Yes |
product |
unknown | Yes |
items |
array | Yes |
Response#
Success:
{
bundled_product,
}Error (500):
{
message,
}Example Request#
curl -X POST 'https://your-store.omnicart.cc/admin/bundled-products' \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: application/json'GET Admin Bundled-products#
Endpoint: GET /admin/bundled-products
Authentication: Admin (Required)
Response#
Success:
{
bundled_products,
count,
limit,
offset,
}Example Request#
curl -X GET 'https://your-store.omnicart.cc/admin/bundled-products' \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: application/json'GET Admin Bundled-products :id#
Endpoint: GET /admin/bundled-products/:id
Authentication: Admin (Required)
URL Parameters#
| Parameter | Type | Required | Description |
|---|---|---|---|
id |
string | Yes | Id identifier |
Response#
Error (404):
{
message,
}Error (500):
{
message,
}Example Request#
curl -X GET 'https://your-store.omnicart.cc/admin/bundled-products/:id' \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: application/json'PATCH Admin Bundled-products :id#
Endpoint: PATCH /admin/bundled-products/:id
Authentication: Admin (Required)
URL Parameters#
| Parameter | Type | Required | Description |
|---|---|---|---|
id |
string | Yes | Id identifier |
Request Body#
| Field | Type | Required |
|---|---|---|
title |
string | No |
items |
array | No |
Response#
Success:
{
bundled_product,
}Error (500):
{
message,
}Example Request#
curl -X PATCH 'https://your-store.omnicart.cc/admin/bundled-products/:id' \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: application/json'DELETE Admin Bundled-products :id#
Endpoint: DELETE /admin/bundled-products/:id
Authentication: Admin (Required)
URL Parameters#
| Parameter | Type | Required | Description |
|---|---|---|---|
id |
string | Yes | Id identifier |
Response#
Success:
{
id,
deleted,
}Error (500):
{
message,
}Example Request#
curl -X DELETE 'https://your-store.omnicart.cc/admin/bundled-products/:id' \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: application/json'GET Admin Cancellations#
Endpoint: GET /admin/cancellations
Authentication: Admin (Required)
Response#
Success:
{
type,
message,
}Example Request#
curl -X GET 'https://your-store.omnicart.cc/admin/cancellations' \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: application/json'GET Admin Cancellations :id#
Endpoint: GET /admin/cancellations/:id
Authentication: Admin (Required)
URL Parameters#
| Parameter | Type | Required | Description |
|---|---|---|---|
id |
string | Yes | Id identifier |
Response#
Success:
{
type,
message,
}Example Request#
curl -X GET 'https://your-store.omnicart.cc/admin/cancellations/:id' \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: application/json'POST Admin Cancellations :id Apply-offer#
Endpoint: POST /admin/cancellations/:id/apply-offer
Authentication: Admin (Required)
URL Parameters#
| Parameter | Type | Required | Description |
|---|---|---|---|
id |
string | Yes | Id identifier |
Request Body#
This route does not declare a validation schema, so the accepted fields are not derivable from the source. Check the handler before relying on a particular body.
Response#
Success:
{
type,
message,
}Example Request#
curl -X POST 'https://your-store.omnicart.cc/admin/cancellations/:id/apply-offer' \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: application/json'POST Admin Cancellations :id Finalize#
Endpoint: POST /admin/cancellations/:id/finalize
Authentication: Admin (Required)
URL Parameters#
| Parameter | Type | Required | Description |
|---|---|---|---|
id |
string | Yes | Id identifier |
Request Body#
This route does not declare a validation schema, so the accepted fields are not derivable from the source. Check the handler before relying on a particular body.
Response#
Success:
{
type,
message,
}Example Request#
curl -X POST 'https://your-store.omnicart.cc/admin/cancellations/:id/finalize' \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: application/json'POST Admin Cancellations :id Reason#
Endpoint: POST /admin/cancellations/:id/reason
Authentication: Admin (Required)
URL Parameters#
| Parameter | Type | Required | Description |
|---|---|---|---|
id |
string | Yes | Id identifier |
Request Body#
This route does not declare a validation schema, so the accepted fields are not derivable from the source. Check the handler before relying on a particular body.
Response#
Success:
{
type,
message,
}Example Request#
curl -X POST 'https://your-store.omnicart.cc/admin/cancellations/:id/reason' \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: application/json'GET Admin Carts#
Endpoint: GET /admin/carts
Authentication: Admin (Required)
Description#
GET /admin/carts?customer_id={id} Returns carts for a given customer for use in Admin UI widgets
Response#
Success:
{
carts,
}Error (400):
{
message,
}Error (500):
{
message,
error,
}Example Request#
curl -X GET 'https://your-store.omnicart.cc/admin/carts' \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: application/json'GET Admin Cogs Settings#
Endpoint: GET /admin/cogs/settings
Authentication: Admin (Required)
Response#
Success:
{
module_enabled,
settings,
}Error (400):
{
message,
}Example Request#
curl -X GET 'https://your-store.omnicart.cc/admin/cogs/settings' \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: application/json'POST Admin Cogs Settings#
Endpoint: POST /admin/cogs/settings
Authentication: Admin (Required)
Request Body#
| Field | Type | Required |
|---|---|---|
default_valuation_method |
enum(FIFO, LIFO, WEIGHTED_AVG) | Yes |
replenishment_alerts_enabled |
boolean | No |
Response#
Success:
{
module_enabled,
settings,
}Error (400):
{
message,
}Error (400):
{
message,
issues,
}Example Request#
curl -X POST 'https://your-store.omnicart.cc/admin/cogs/settings' \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: application/json'GET Admin Content-page-options#
Endpoint: GET /admin/content-page-options
Authentication: Admin (Required)
Description#
Choices for the content-page editor. WHY THIS EXISTS --------------- Same reason as /admin/banner-options: store_handle is compared literally by the store endpoint, so a free-text typo produces a page that saves cleanly and then never appears, with nothing on screen explaining why. Handles come from three places, unioned: 1. CONTENT_PAGE_STORE_HANDLES env, when set. 2. BANNER_STORE_HANDLES env — the same list of storefronts this deployment serves. Reused rather than duplicated so a tenant that has already configured banners does not have to configure this too. 3. handles already present on content_page rows — so an existing deployment is never locked out of its own handle by a missing env var.
Response#
Success:
{
preview_base_url,
store_handles,
handles_unconfigured,
}Example Request#
curl -X GET 'https://your-store.omnicart.cc/admin/content-page-options' \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: application/json'GET Admin Content-page-settings#
Endpoint: GET /admin/content-page-settings
Authentication: Admin (Required)
Description#
GET /admin/content-page-settings?store_handle=vnsh
Response#
Success:
{
content_page_settings,
}Error (400):
{
message,
}Example Request#
curl -X GET 'https://your-store.omnicart.cc/admin/content-page-settings' \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: application/json'POST Admin Content-page-settings#
Endpoint: POST /admin/content-page-settings
Authentication: Admin (Required)
Description#
POST /admin/content-page-settings
Request Body#
This route does not declare a validation schema, so the accepted fields are not derivable from the source. Check the handler before relying on a particular body.
Response#
Success:
{
content_page_settings,
}Error (400):
{
message,
}Error (500):
{
message,
}Example Request#
curl -X POST 'https://your-store.omnicart.cc/admin/content-page-settings' \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: application/json'GET Admin Content-pages#
Endpoint: GET /admin/content-pages
Authentication: Admin (Required)
Description#
GET /admin/content-pages?store_handle=vnsh
Response#
Success:
{
content_pages,
}Example Request#
curl -X GET 'https://your-store.omnicart.cc/admin/content-pages' \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: application/json'POST Admin Content-pages#
Endpoint: POST /admin/content-pages
Authentication: Admin (Required)
Description#
POST /admin/content-pages
Request Body#
This route does not declare a validation schema, so the accepted fields are not derivable from the source. Check the handler before relying on a particular body.
Response#
Success (201):
{
content_page,
}Error (400):
{
message,
}Error (400):
{
message,
}Error (409):
{
message,
}Error (500):
{
message,
}Example Request#
curl -X POST 'https://your-store.omnicart.cc/admin/content-pages' \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: application/json'PATCH Admin Content-pages :id#
Endpoint: PATCH /admin/content-pages/:id
Authentication: Admin (Required)
Description#
PATCH /admin/content-pages/:id — partial update. store_handle is deliberately absent: moving a page between storefronts would move its URL out from under whatever links to it, and the slug is unique per handle so the move can also collide. Delete and recreate instead.
URL Parameters#
| Parameter | Type | Required | Description |
|---|---|---|---|
id |
string | Yes | Id identifier |
Request Body#
This route does not declare a validation schema, so the accepted fields are not derivable from the source. Check the handler before relying on a particular body.
Response#
Success:
{
content_page,
}Error (404):
{
message,
}Error (400):
{
message,
}Error (400):
{
message,
}Error (409):
{
message,
}Error (500):
{
message,
}Example Request#
curl -X PATCH 'https://your-store.omnicart.cc/admin/content-pages/:id' \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: application/json'DELETE Admin Content-pages :id#
Endpoint: DELETE /admin/content-pages/:id
Authentication: Admin (Required)
Description#
DELETE /admin/content-pages/:id — soft delete.
URL Parameters#
| Parameter | Type | Required | Description |
|---|---|---|---|
id |
string | Yes | Id identifier |
Response#
Success:
{
id,
object,
deleted,
}Error (500):
{
message,
}Example Request#
curl -X DELETE 'https://your-store.omnicart.cc/admin/content-pages/:id' \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: application/json'GET Admin Custom#
Endpoint: GET /admin/custom
Authentication: Admin (Required)
Response#
The handler does not return an object literal, so the response shape is not derivable from the source.
Example Request#
curl -X GET 'https://your-store.omnicart.cc/admin/custom' \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: application/json'GET Admin Customers :id Notes#
Endpoint: GET /admin/customers/:id/notes
Authentication: Admin (Required)
Description#
GET /admin/customers/:id/notes Returns all notes for a customer
URL Parameters#
| Parameter | Type | Required | Description |
|---|---|---|---|
id |
string | Yes | Id identifier |
Response#
Success:
{
notes,
}Error (500):
{
error,
message,
}Example Request#
curl -X GET 'https://your-store.omnicart.cc/admin/customers/:id/notes' \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: application/json'POST Admin Customers :id Notes#
Endpoint: POST /admin/customers/:id/notes
Authentication: Admin (Required)
Description#
POST /admin/customers/:id/notes Add a new note to a customer Body: { content: string, tag?: "Called" | "Email" | "Issue" | "Shipping" | "Refund" | null }
URL Parameters#
| Parameter | Type | Required | Description |
|---|---|---|---|
id |
string | Yes | Id identifier |
Request Body#
This route does not declare a validation schema, so the accepted fields are not derivable from the source. Check the handler before relying on a particular body.
Response#
Success:
{
note,
notes,
}Error (500):
{
error,
message,
}Example Request#
curl -X POST 'https://your-store.omnicart.cc/admin/customers/:id/notes' \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: application/json'DELETE Admin Customers :id Notes :noteId#
Endpoint: DELETE /admin/customers/:id/notes/:noteId
Authentication: Admin (Required)
Description#
DELETE /admin/customers/:id/notes/:noteId Delete a specific note from a customer
URL Parameters#
| Parameter | Type | Required | Description |
|---|---|---|---|
id |
string | Yes | Id identifier |
noteId |
string | Yes | NoteId identifier |
Response#
Success:
{
success,
notes,
}Error (404):
{
error,
message,
}Error (500):
{
error,
message,
}Example Request#
curl -X DELETE 'https://your-store.omnicart.cc/admin/customers/:id/notes/:noteId' \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: application/json'PUT Admin Customers :id Notes :noteId#
Endpoint: PUT /admin/customers/:id/notes/:noteId
Authentication: Admin (Required)
Description#
PUT /admin/customers/:id/notes/:noteId Update a specific note (content and tag; author and created_at are preserved) Body: { content: string, tag?: "Called" | "Email" | "Issue" | "Shipping" | "Refund" | null }
URL Parameters#
| Parameter | Type | Required | Description |
|---|---|---|---|
id |
string | Yes | Id identifier |
noteId |
string | Yes | NoteId identifier |
Request Body#
This route does not declare a validation schema, so the accepted fields are not derivable from the source. Check the handler before relying on a particular body.
Response#
Success:
{
note,
notes,
}Error (404):
{
error,
message,
}Error (500):
{
error,
message,
}Example Request#
curl -X PUT 'https://your-store.omnicart.cc/admin/customers/:id/notes/:noteId' \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: application/json'POST Admin Demo-magic-link#
Endpoint: POST /admin/demo-magic-link
Authentication: Admin (Required)
Request Body#
This route does not declare a validation schema, so the accepted fields are not derivable from the source. Check the handler before relying on a particular body.
Response#
Success:
{
url,
token,
landingPath,
expiresInSeconds,
}Error (503):
{
error,
}Example Request#
curl -X POST 'https://your-store.omnicart.cc/admin/demo-magic-link' \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: application/json'GET Admin Disputes#
Endpoint: GET /admin/disputes
Authentication: Admin (Required)
Description#
GET /admin/disputes List locally-mirrored Stripe disputes. Backs the order-page dispute banner (?order_id=...) and gives ops a queryable view of open chargebacks and their evidence deadlines (?open=true). Query params: - order_id / payment_id — scope to one order or payment - open=true — only disputes that currently block refunds - limit / offset — pagination (default 50)
Response#
Success:
{
disputes,
count,
limit,
offset,
}Example Request#
curl -X GET 'https://your-store.omnicart.cc/admin/disputes' \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: application/json'POST Admin Disputes :id Accept#
Endpoint: POST /admin/disputes/:id/accept
Authentication: Admin (Required)
Description#
POST /admin/disputes/:id/accept Concede the dispute: the customer keeps the funds via the chargeback. This is FINAL — Stripe closes the dispute as lost and the money is gone, so the UI confirms before calling this. :id is the LOCAL payment_dispute record id (pdis_...). Actions are routed by the record's provider — only Stripe is implemented; other providers get a clean 400 instead of a silent no-op.
URL Parameters#
| Parameter | Type | Required | Description |
|---|---|---|---|
id |
string | Yes | Id identifier |
Request Body#
This route does not declare a validation schema, so the accepted fields are not derivable from the source. Check the handler before relying on a particular body.
Response#
Success:
{
type,
message,
}Also returns:
{
dispute,
}Error (404):
{
type,
message,
}Error (400):
{
type,
message,
}Error (400):
{
type,
message,
}Example Request#
curl -X POST 'https://your-store.omnicart.cc/admin/disputes/:id/accept' \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: application/json'POST Admin Disputes :id Evidence#
Endpoint: POST /admin/disputes/:id/evidence
Authentication: Admin (Required)
URL Parameters#
| Parameter | Type | Required | Description |
|---|---|---|---|
id |
string | Yes | Id identifier |
Request Body#
This route does not declare a validation schema, so the accepted fields are not derivable from the source. Check the handler before relying on a particular body.
Response#
Success:
{
submitted,
evidence_field_count,
dispute,
}Also returns:
{
type,
message,
}Error (404):
{
type,
message,
}Error (400):
{
type,
message,
}Error (400):
{
type,
message,
}Error (400):
{
type,
message,
}Error (400):
{
type,
message,
}Error (400):
{
type,
message,
}Error (400):
{
type,
message,
}Error (400):
{
type,
message,
}Error (400):
{
type,
message,
}Error (400):
{
type,
message,
}Error (400):
{
type,
message,
}Example Request#
curl -X POST 'https://your-store.omnicart.cc/admin/disputes/:id/evidence' \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: application/json'POST Admin Draft-orders :id Payment-link#
Endpoint: POST /admin/draft-orders/:id/payment-link
Authentication: Admin (Required)
Description#
Create (or reuse) the payment link for a draft order and optionally send it. Body: - channel — "none" (create only), "sms", or "email". Default "none". - to — override recipient. Defaults to the draft's phone (sms) or email. - expires_in_hours — link lifetime, 1..720. Default 72. - regenerate — mint a new cart even if the current link is still valid. Responds 200 with { url, cart_id, expires_at, warnings, delivery }. warnings lists non-fatal problems replaying the draft onto the cart — shipping or promotion codes that could not be applied. delivery.status is "sent", "failed", or "skipped" (channel "none"); a failed SEND still returns 200 because the link itself exists and can be copied from the admin. 404 when the order does not exist, 409 when it is not a draft order, 422 when the draft has no line item that can be placed on a cart.
URL Parameters#
| Parameter | Type | Required | Description |
|---|---|---|---|
id |
string | Yes | Id identifier |
Request Body#
| Field | Type | Required |
|---|---|---|
channel |
enum(none, sms, email) | No |
to |
string | No |
expires_in_hours |
number | No |
regenerate |
boolean | No |
Response#
Success (200):
{
url,
cart_id,
expires_at,
reused,
skipped_items,
warnings,
delivery,
}Also returns:
{
type,
message,
}Example Request#
curl -X POST 'https://your-store.omnicart.cc/admin/draft-orders/:id/payment-link' \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: application/json'GET Admin Draft-orders :id Payment-link#
Endpoint: GET /admin/draft-orders/:id/payment-link
Authentication: Admin (Required)
Description#
Read the draft order's stored payment link plus the live state of its cart. Responds 200 with { payment_link, cart }. payment_link is null when no link was ever created. cart carries completed_at so the admin can tell a link that is still open from one the customer already paid, and expired reflects the stored expiry against the current time. 404 when the order does not exist, 409 when it is not a draft order.
URL Parameters#
| Parameter | Type | Required | Description |
|---|---|---|---|
id |
string | Yes | Id identifier |
Response#
Success (200):
{
payment_link,
cart,
}Also returns (200):
{
payment_link,
cart,
}Error (404):
{
type,
message,
}Error (409):
{
type,
message,
}Example Request#
curl -X GET 'https://your-store.omnicart.cc/admin/draft-orders/:id/payment-link' \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: application/json'GET Admin Dunning#
Endpoint: GET /admin/dunning
Authentication: Admin (Required)
Response#
Success:
{
type,
message,
}Example Request#
curl -X GET 'https://your-store.omnicart.cc/admin/dunning' \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: application/json'GET Admin Dunning :id#
Endpoint: GET /admin/dunning/:id
Authentication: Admin (Required)
URL Parameters#
| Parameter | Type | Required | Description |
|---|---|---|---|
id |
string | Yes | Id identifier |
Response#
Success:
{
type,
message,
}Example Request#
curl -X GET 'https://your-store.omnicart.cc/admin/dunning/:id' \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: application/json'POST Admin Dunning :id Mark-recovered#
Endpoint: POST /admin/dunning/:id/mark-recovered
Authentication: Admin (Required)
URL Parameters#
| Parameter | Type | Required | Description |
|---|---|---|---|
id |
string | Yes | Id identifier |
Request Body#
This route does not declare a validation schema, so the accepted fields are not derivable from the source. Check the handler before relying on a particular body.
Response#
Success:
{
type,
message,
}Example Request#
curl -X POST 'https://your-store.omnicart.cc/admin/dunning/:id/mark-recovered' \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: application/json'POST Admin Dunning :id Mark-unrecovered#
Endpoint: POST /admin/dunning/:id/mark-unrecovered
Authentication: Admin (Required)
URL Parameters#
| Parameter | Type | Required | Description |
|---|---|---|---|
id |
string | Yes | Id identifier |
Request Body#
This route does not declare a validation schema, so the accepted fields are not derivable from the source. Check the handler before relying on a particular body.
Response#
Success:
{
type,
message,
}Example Request#
curl -X POST 'https://your-store.omnicart.cc/admin/dunning/:id/mark-unrecovered' \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: application/json'POST Admin Dunning :id Retry-now#
Endpoint: POST /admin/dunning/:id/retry-now
Authentication: Admin (Required)
URL Parameters#
| Parameter | Type | Required | Description |
|---|---|---|---|
id |
string | Yes | Id identifier |
Request Body#
This route does not declare a validation schema, so the accepted fields are not derivable from the source. Check the handler before relying on a particular body.
Response#
Success:
{
type,
message,
}Example Request#
curl -X POST 'https://your-store.omnicart.cc/admin/dunning/:id/retry-now' \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: application/json'POST Admin Dunning :id Retry-schedule#
Endpoint: POST /admin/dunning/:id/retry-schedule
Authentication: Admin (Required)
URL Parameters#
| Parameter | Type | Required | Description |
|---|---|---|---|
id |
string | Yes | Id identifier |
Request Body#
This route does not declare a validation schema, so the accepted fields are not derivable from the source. Check the handler before relying on a particular body.
Response#
Success:
{
type,
message,
}Example Request#
curl -X POST 'https://your-store.omnicart.cc/admin/dunning/:id/retry-schedule' \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: application/json'GET Admin Extensions#
Endpoint: GET /admin/extensions
Authentication: Admin (Required)
Response#
Success:
{
extensions,
count,
}Also returns:
{
message,
code,
}Example Request#
curl -X GET 'https://your-store.omnicart.cc/admin/extensions' \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: application/json'GET Admin Extensions :id#
Endpoint: GET /admin/extensions/:id
Authentication: Admin (Required)
URL Parameters#
| Parameter | Type | Required | Description |
|---|---|---|---|
id |
string | Yes | Id identifier |
Response#
Success:
{
extension,
}Also returns:
{
message,
code,
}Example Request#
curl -X GET 'https://your-store.omnicart.cc/admin/extensions/:id' \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: application/json'POST Admin Extensions :id Toggle#
Endpoint: POST /admin/extensions/:id/toggle
Authentication: Admin (Required)
URL Parameters#
| Parameter | Type | Required | Description |
|---|---|---|---|
id |
string | Yes | Id identifier |
Request Body#
This route does not declare a validation schema, so the accepted fields are not derivable from the source. Check the handler before relying on a particular body.
Response#
Success:
{
extension,
}Also returns:
{
message,
code,
}Example Request#
curl -X POST 'https://your-store.omnicart.cc/admin/extensions/:id/toggle' \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: application/json'GET Admin Extensions Check-enabled#
Endpoint: GET /admin/extensions/check-enabled
Authentication: Admin (Required)
Description#
GET /admin/extensions/check-enabled?module=marketing Check if a specific module is enabled
Response#
Success:
{
enabled,
module,
}Error (400):
{
enabled,
message,
}Error (500):
{
enabled,
message,
}Example Request#
curl -X GET 'https://your-store.omnicart.cc/admin/extensions/check-enabled' \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: application/json'GET Admin Extensions Check :name#
Endpoint: GET /admin/extensions/check/:name
Authentication: Admin (Required)
Description#
Check if an extension is enabled GET /admin/extensions/check/:name
URL Parameters#
| Parameter | Type | Required | Description |
|---|---|---|---|
name |
string | Yes | Name identifier |
Response#
Success:
{
enabled,
}Error (400):
{
message,
enabled,
}Error (500):
{
message,
enabled,
}Example Request#
curl -X GET 'https://your-store.omnicart.cc/admin/extensions/check/:name' \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: application/json'GET Admin Free-shipping-report#
Endpoint: GET /admin/free-shipping-report
Authentication: Admin (Required)
Response#
Error (400):
{
message,
}Example Request#
curl -X GET 'https://your-store.omnicart.cc/admin/free-shipping-report' \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: application/json'GET Admin Free-shipping-threshold#
Endpoint: GET /admin/free-shipping-threshold
Authentication: Admin (Required)
Response#
Success:
{
shipping_option_id,
shipping_option_name,
threshold,
operator,
}Also returns:
{
shipping_option_id,
threshold,
}Example Request#
curl -X GET 'https://your-store.omnicart.cc/admin/free-shipping-threshold' \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: application/json'POST Admin Free-shipping-threshold#
Endpoint: POST /admin/free-shipping-threshold
Authentication: Admin (Required)
Description#
// Update the free-shipping threshold by surgically updating the item_total price rule value(s).
Request Body#
This route does not declare a validation schema, so the accepted fields are not derivable from the source. Check the handler before relying on a particular body.
Response#
Success:
{
threshold,
updated_rules,
}Error (400):
{
message,
}Error (404):
{
message,
}Example Request#
curl -X POST 'https://your-store.omnicart.cc/admin/free-shipping-threshold' \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: application/json'POST Admin Funnel-carts :id Line-items#
Endpoint: POST /admin/funnel-carts/:id/line-items
Authentication: Admin (Required)
URL Parameters#
| Parameter | Type | Required | Description |
|---|---|---|---|
id |
string | Yes | Id identifier |
Request Body#
This route does not declare a validation schema, so the accepted fields are not derivable from the source. Check the handler before relying on a particular body.
Response#
Success:
{
cart,
}Example Request#
curl -X POST 'https://your-store.omnicart.cc/admin/funnel-carts/:id/line-items' \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: application/json'GET Admin Funnels#
Endpoint: GET /admin/funnels
Authentication: Admin (Required)
Response#
Error (500):
{
message,
error,
}Example Request#
curl -X GET 'https://your-store.omnicart.cc/admin/funnels' \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: application/json'POST Admin Funnels#
Endpoint: POST /admin/funnels
Authentication: Admin (Required)
Request Body#
This route does not declare a validation schema, so the accepted fields are not derivable from the source. Check the handler before relying on a particular body.
Response#
Success:
{
funnel,
}Error (500):
{
message,
error,
}Example Request#
curl -X POST 'https://your-store.omnicart.cc/admin/funnels' \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: application/json'GET Admin Funnels :id#
Endpoint: GET /admin/funnels/:id
Authentication: Admin (Required)
Description#
@swagger /admin/funnels/{id}: get: tags: [Funnels] description: Retrieves a funnel by ID parameters: - in: path name: id required: true schema: type: string responses: 200: description: OK content: application/json: schema: properties: funnel: $ref: "#/components/schemas/Funnel"
URL Parameters#
| Parameter | Type | Required | Description |
|---|---|---|---|
id |
string | Yes | Id identifier |
Response#
Success:
{
funnel,
}Error (500):
{
message,
error,
}Example Request#
curl -X GET 'https://your-store.omnicart.cc/admin/funnels/:id' \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: application/json'POST Admin Funnels :id#
Endpoint: POST /admin/funnels/:id
Authentication: Admin (Required)
Description#
@swagger /admin/funnels/{id}: post: tags: [Funnels] description: Updates a funnel by ID parameters: - in: path name: id required: true schema: type: string requestBody: content: application/json: schema: properties: name: type: string description: type: string conversion_goal: type: string status: type: string enum: [draft, active, archived] responses: 200: description: OK content: application/json: schema: properties: funnel: $ref: "#/components/schemas/Funnel"
URL Parameters#
| Parameter | Type | Required | Description |
|---|---|---|---|
id |
string | Yes | Id identifier |
Request Body#
This route does not declare a validation schema, so the accepted fields are not derivable from the source. Check the handler before relying on a particular body.
Response#
Success:
{
funnel,
}Error (500):
{
message,
error,
}Example Request#
curl -X POST 'https://your-store.omnicart.cc/admin/funnels/:id' \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: application/json'DELETE Admin Funnels :id#
Endpoint: DELETE /admin/funnels/:id
Authentication: Admin (Required)
Description#
@swagger /admin/funnels/{id}: delete: tags: [Funnels] description: Deletes a funnel by ID parameters: - in: path name: id required: true schema: type: string responses: 200: description: OK
URL Parameters#
| Parameter | Type | Required | Description |
|---|---|---|---|
id |
string | Yes | Id identifier |
Response#
Success:
{
id,
deleted,
}Error (500):
{
message,
error,
}Example Request#
curl -X DELETE 'https://your-store.omnicart.cc/admin/funnels/:id' \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: application/json'GET Admin Funnels Analytics#
Endpoint: GET /admin/funnels/analytics
Authentication: Admin (Required)
Description#
@swagger /admin/funnels/analytics: get: tags: [Funnels] description: Retrieves funnel analytics parameters: - in: query name: funnel_id schema: type: string required: true responses: 200: description: OK content: application/json: schema: properties: analytics: type: object
Response#
Success:
{
analytics,
}Error (400):
{
message,
}Error (500):
{
message,
}Example Request#
curl -X GET 'https://your-store.omnicart.cc/admin/funnels/analytics' \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: application/json'GET Admin Funnels Pages#
Endpoint: GET /admin/funnels/pages
Authentication: Admin (Required)
Description#
@swagger /admin/funnels/pages: get: tags: [Funnels] description: Retrieves funnel pages responses: 200: description: OK content: application/json: schema: properties: pages: type: array
Response#
Success:
{
pages,
}Error (400):
{
message,
}Error (500):
{
message,
}Example Request#
curl -X GET 'https://your-store.omnicart.cc/admin/funnels/pages' \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: application/json'POST Admin Funnels Pages#
Endpoint: POST /admin/funnels/pages
Authentication: Admin (Required)
Description#
@swagger /admin/funnels/pages: post: tags: [Funnels] description: Creates a new funnel page requestBody: content: application/json: schema: required: - title - slug - funnel_id - stage_id properties: title: type: string slug: type: string funnel_id: type: string stage_id: type: string content_id: type: string template: type: string position: type: number responses: 200: description: OK content: application/json: schema: properties: page: $ref: "#/components/schemas/FunnelPage"
Request Body#
This route does not declare a validation schema, so the accepted fields are not derivable from the source. Check the handler before relying on a particular body.
Response#
Success:
{
page,
}Error (500):
{
message,
}Example Request#
curl -X POST 'https://your-store.omnicart.cc/admin/funnels/pages' \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: application/json'GET Admin Funnels Stages#
Endpoint: GET /admin/funnels/stages
Authentication: Admin (Required)
Description#
@swagger /admin/funnels/stages: get: tags: [Funnels] description: Retrieves funnel stages responses: 200: description: OK content: application/json: schema: properties: stages: type: array
Response#
Success:
{
stages,
}Error (400):
{
message,
}Error (500):
{
message,
stages,
}Error (500):
{
message,
stack,
}Example Request#
curl -X GET 'https://your-store.omnicart.cc/admin/funnels/stages' \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: application/json'POST Admin Funnels Stages#
Endpoint: POST /admin/funnels/stages
Authentication: Admin (Required)
Description#
@swagger /admin/funnels/stages: post: tags: [Funnels] description: Creates a new funnel stage requestBody: content: application/json: schema: required: - name - funnel_id - position properties: name: type: string description: type: string funnel_id: type: string position: type: number is_entry_point: type: boolean responses: 200: description: OK content: application/json: schema: properties: stage: $ref: "#/components/schemas/FunnelStage"
Request Body#
This route does not declare a validation schema, so the accepted fields are not derivable from the source. Check the handler before relying on a particular body.
Response#
Success:
{
stage,
}Error (400):
{
message,
}Error (404):
{
message,
}Error (500):
{
message,
}Example Request#
curl -X POST 'https://your-store.omnicart.cc/admin/funnels/stages' \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: application/json'PUT Admin Funnels Stages :id#
Endpoint: PUT /admin/funnels/stages/:id
Authentication: Admin (Required)
Description#
Update an existing funnel stage
URL Parameters#
| Parameter | Type | Required | Description |
|---|---|---|---|
id |
string | Yes | Id identifier |
Request Body#
This route does not declare a validation schema, so the accepted fields are not derivable from the source. Check the handler before relying on a particular body.
Response#
Success:
{
stage,
}Error (400):
{
message,
}Error (404):
{
message,
}Error (500):
{
message,
error,
}Example Request#
curl -X PUT 'https://your-store.omnicart.cc/admin/funnels/stages/:id' \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: application/json'DELETE Admin Funnels Stages :id#
Endpoint: DELETE /admin/funnels/stages/:id
Authentication: Admin (Required)
Description#
Delete a funnel stage
URL Parameters#
| Parameter | Type | Required | Description |
|---|---|---|---|
id |
string | Yes | Id identifier |
Response#
Success:
{
id,
deleted,
}Error (500):
{
message,
error,
}Example Request#
curl -X DELETE 'https://your-store.omnicart.cc/admin/funnels/stages/:id' \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: application/json'POST Admin Funnels Stages Reorder#
Endpoint: POST /admin/funnels/stages/reorder
Authentication: Admin (Required)
Description#
Reorder funnel stages
Request Body#
This route does not declare a validation schema, so the accepted fields are not derivable from the source. Check the handler before relying on a particular body.
Response#
Success (200):
{
stages,
}Error (400):
{
message,
}Error (400):
{
message,
}Error (500):
{
message,
error,
}Example Request#
curl -X POST 'https://your-store.omnicart.cc/admin/funnels/stages/reorder' \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: application/json'POST Admin Internal Checkout-context#
Endpoint: POST /admin/internal/checkout-context
Authentication: Admin (Required)
Request Body#
| Field | Type | Required |
|---|---|---|
cart_id |
string | Yes |
checkout_token |
string | Yes |
Response#
Success:
{
ok,
cart_id,
stamped,
}Also returns:
{
ok,
cart_id,
stamped,
}Error (400):
{
error,
issues,
}Error (503):
{
error,
}Error (401):
{
error,
}Error (401):
{
error,
}Error (503):
{
error,
}Error (403):
{
error,
}Error (404):
{
error,
}Error (409):
{
error,
}Error (401):
{
error,
}Error (503):
{
error,
}Example Request#
curl -X POST 'https://your-store.omnicart.cc/admin/internal/checkout-context' \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: application/json'POST Admin Internal Members#
Endpoint: POST /admin/internal/members
Authentication: Admin (Required)
Request Body#
| Field | Type | Required |
|---|---|---|
email |
string | Yes |
role |
enum(admin, editor, viewer) | Yes |
action |
enum(upsert, remove) | Yes |
Response#
Error (400):
{
error,
issues,
}Example Request#
curl -X POST 'https://your-store.omnicart.cc/admin/internal/members' \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: application/json'GET Admin Internal Members#
Endpoint: GET /admin/internal/members
Authentication: Admin (Required)
Description#
Snapshot of this store's federated members: every user that holds one of the three standard roles, with its store role. Used by the SysOp reconcile job to detect + heal drift. Users with no standard role are omitted (they're not part of the federation).
Response#
Success:
{
members,
}Also returns:
{
members,
}Example Request#
curl -X GET 'https://your-store.omnicart.cc/admin/internal/members' \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: application/json'GET Admin Internal Sales-metrics#
Endpoint: GET /admin/internal/sales-metrics
Authentication: Admin (Required)
Response#
Success:
{
total,
days,
meta,
}Error (400):
{
message,
issues,
}Error (400):
{
message,
}Error (400):
{
message,
}Error (400):
{
code,
message,
maxDays,
requestedDays,
}Error (500):
{
message,
}Example Request#
curl -X GET 'https://your-store.omnicart.cc/admin/internal/sales-metrics' \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: application/json'POST Admin Internal Superplane-cart#
Endpoint: POST /admin/internal/superplane-cart
Authentication: Admin (Required)
Request Body#
| Field | Type | Required |
|---|---|---|
email |
string | Yes |
first_name |
string | No |
last_name |
string | No |
region_id |
string | No |
sales_channel_id |
string | No |
currency_code |
string | No |
purchase_mode |
enum(subscription, one_time) | No |
items |
record | No |
metadata |
record | No |
Response#
Success (200):
{
cart_id,
checkout_url,
customer_id,
attributed,
}Error (400):
{
error,
issues,
}Error (422):
{
error,
}Error (422):
{
error,
}Example Request#
curl -X POST 'https://your-store.omnicart.cc/admin/internal/superplane-cart' \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: application/json'POST Admin Internal Unified-context#
Endpoint: POST /admin/internal/unified-context
Authentication: Admin (Required)
Request Body#
This route does not declare a validation schema, so the accepted fields are not derivable from the source. Check the handler before relying on a particular body.
Response#
Success:
{
ok,
cart_id,
stamped,
}Error (400):
{
error,
}Error (404):
{
error,
}Error (409):
{
error,
}Example Request#
curl -X POST 'https://your-store.omnicart.cc/admin/internal/unified-context' \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: application/json'POST Admin Konnektive Outbound-sync :orderId Force#
Endpoint: POST /admin/konnektive/outbound-sync/:orderId/force
Authentication: Admin (Required)
Description#
POST /admin/konnektive/outbound-sync/:orderId/force Force immediate sync of an order (bypass modification window) Use cases: - Urgent orders requiring immediate fulfillment - Manual correction after failed sync - Customer service requests @returns Sync result with Konnektive customer ID and order ID
URL Parameters#
| Parameter | Type | Required | Description |
|---|---|---|---|
orderId |
string | Yes | OrderId identifier |
Request Body#
This route does not declare a validation schema, so the accepted fields are not derivable from the source. Check the handler before relying on a particular body.
Response#
Success (200):
{
message,
result,
}Error (400):
{
error,
message,
errorCode,
attempts,
}Error (500):
{
error,
message,
}Example Request#
curl -X POST 'https://your-store.omnicart.cc/admin/konnektive/outbound-sync/:orderId/force' \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: application/json'POST Admin Konnektive Outbound-sync :orderId Retry#
Endpoint: POST /admin/konnektive/outbound-sync/:orderId/retry
Authentication: Admin (Required)
Description#
POST /admin/konnektive/outbound-sync/:orderId/retry Retry a failed sync for a specific order Use cases: - Recover from transient API errors - Retry after fixing product SKU mappings - Retry after Konnektive service restoration @returns Sync result with success/failure status
URL Parameters#
| Parameter | Type | Required | Description |
|---|---|---|---|
orderId |
string | Yes | OrderId identifier |
Request Body#
This route does not declare a validation schema, so the accepted fields are not derivable from the source. Check the handler before relying on a particular body.
Response#
Success (200):
{
message,
result,
}Error (400):
{
error,
message,
errorCode,
attempts,
}Error (500):
{
error,
message,
}Example Request#
curl -X POST 'https://your-store.omnicart.cc/admin/konnektive/outbound-sync/:orderId/retry' \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: application/json'GET Admin Konnektive Outbound-sync :orderId Status#
Endpoint: GET /admin/konnektive/outbound-sync/:orderId/status
Authentication: Admin (Required)
Description#
GET /admin/konnektive/outbound-sync/:orderId/status Get sync status for a specific order @returns Sync status including scheduled time, attempts, Konnektive IDs, errors
URL Parameters#
| Parameter | Type | Required | Description |
|---|---|---|---|
orderId |
string | Yes | OrderId identifier |
Response#
Success (200):
{
status,
}Error (404):
{
error,
message,
}Error (500):
{
error,
message,
}Example Request#
curl -X GET 'https://your-store.omnicart.cc/admin/konnektive/outbound-sync/:orderId/status' \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: application/json'GET Admin Konnektive Outbound-sync Failed#
Endpoint: GET /admin/konnektive/outbound-sync/failed
Authentication: Admin (Required)
Description#
GET /admin/konnektive/outbound-sync/failed List all failed syncs for troubleshooting Query params: - limit: Maximum number of results (default: 50) @returns List of failed sync records with error details
Response#
Success (200):
{
failedSyncs,
count,
}Error (500):
{
error,
message,
}Example Request#
curl -X GET 'https://your-store.omnicart.cc/admin/konnektive/outbound-sync/failed' \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: application/json'GET Admin Konnektive Outbound-sync Statistics#
Endpoint: GET /admin/konnektive/outbound-sync/statistics
Authentication: Admin (Required)
Description#
GET /admin/konnektive/outbound-sync/statistics Get overall sync statistics and metrics Metrics include: - Total syncs by status (scheduled, pending, synced, failed) - Average modifications per order (Flow Builder upsells) - Average sync attempts (retry metrics) @returns Comprehensive sync statistics
Response#
Success (200):
{
statistics,
}Error (500):
{
error,
message,
}Example Request#
curl -X GET 'https://your-store.omnicart.cc/admin/konnektive/outbound-sync/statistics' \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: application/json'GET Admin Konnektive Product-mapping#
Endpoint: GET /admin/konnektive/product-mapping
Authentication: Admin (Required)
Description#
GET /admin/konnektive/product-mapping Get all product SKU mappings (OmniCart SKU → Konnektive product_id) @returns Map of OmniCart SKUs to Konnektive product IDs
Response#
Success (200):
{
mapping,
count,
}Error (500):
{
error,
message,
}Example Request#
curl -X GET 'https://your-store.omnicart.cc/admin/konnektive/product-mapping' \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: application/json'POST Admin Konnektive Product-mapping#
Endpoint: POST /admin/konnektive/product-mapping
Authentication: Admin (Required)
Description#
POST /admin/konnektive/product-mapping Add or update product SKU mappings Request body: { "mappings": { "OMNICART_SKU": "KONNEKTIVE_PRODUCT_ID", ... } } @returns Updated mapping
Request Body#
This route does not declare a validation schema, so the accepted fields are not derivable from the source. Check the handler before relying on a particular body.
Response#
Success (200):
{
message,
mapping,
count,
}Error (400):
{
error,
message,
}Error (500):
{
error,
message,
}Example Request#
curl -X POST 'https://your-store.omnicart.cc/admin/konnektive/product-mapping' \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: application/json'DELETE Admin Konnektive Product-mapping#
Endpoint: DELETE /admin/konnektive/product-mapping
Authentication: Admin (Required)
Description#
DELETE /admin/konnektive/product-mapping Remove product SKU mappings Request body: { "skus": ["OMNICART_SKU1", "OMNICART_SKU2", ...] } @returns Updated mapping
Response#
Success (200):
{
message,
removedCount,
mapping,
count,
}Error (400):
{
error,
message,
}Error (500):
{
error,
message,
}Example Request#
curl -X DELETE 'https://your-store.omnicart.cc/admin/konnektive/product-mapping' \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: application/json'GET Admin Konnektive Products#
Endpoint: GET /admin/konnektive/products
Authentication: Admin (Required)
Description#
GET /admin/konnektive/products Fetch Konnektive products from the Konnektive API
Response#
Success (200):
{
products,
}Error (503):
{
error,
}Error (500):
{
error,
}Example Request#
curl -X GET 'https://your-store.omnicart.cc/admin/konnektive/products' \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: application/json'GET Admin Marketing#
Endpoint: GET /admin/marketing
Authentication: Admin (Required)
Response#
Success:
{
success,
data,
}Error (500):
{
success,
message,
}Example Request#
curl -X GET 'https://your-store.omnicart.cc/admin/marketing' \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: application/json'GET Admin Marketing Ad-sets#
Endpoint: GET /admin/marketing/ad-sets
Authentication: Admin (Required)
Description#
// List ad sets
Response#
Success:
{
success,
data,
}Error (400):
{
success,
message,
}Example Request#
curl -X GET 'https://your-store.omnicart.cc/admin/marketing/ad-sets' \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: application/json'POST Admin Marketing Ad-sets#
Endpoint: POST /admin/marketing/ad-sets
Authentication: Admin (Required)
Description#
// Create ad set
Request Body#
| Field | Type | Required |
|---|---|---|
campaignId |
string | No |
status |
enum | No |
limit |
number | No |
offset |
number | No |
Response#
Success (201):
{
success,
data,
}Error (404):
{
success,
message,
}Error (400):
{
success,
message,
}Example Request#
curl -X POST 'https://your-store.omnicart.cc/admin/marketing/ad-sets' \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: application/json'GET Admin Marketing Ai-insights#
Endpoint: GET /admin/marketing/ai-insights
Authentication: Admin (Required)
Response#
Success:
{
success,
data,
}Also returns:
{
success,
data,
}Error (500):
{
success,
message,
}Example Request#
curl -X GET 'https://your-store.omnicart.cc/admin/marketing/ai-insights' \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: application/json'GET Admin Marketing Analytics-simple#
Endpoint: GET /admin/marketing/analytics-simple
Authentication: Admin (Required)
Response#
Success:
{
platforms,
totals,
dateRange,
}Error (500):
{
error,
message,
}Example Request#
curl -X GET 'https://your-store.omnicart.cc/admin/marketing/analytics-simple' \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: application/json'GET Admin Marketing Analytics Platforms#
Endpoint: GET /admin/marketing/analytics/platforms
Authentication: Admin (Required)
Response#
Success:
{
success,
data,
}Also returns:
{
success,
data,
}Error (500):
{
success,
message,
}Example Request#
curl -X GET 'https://your-store.omnicart.cc/admin/marketing/analytics/platforms' \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: application/json'GET Admin Marketing Attribution#
Endpoint: GET /admin/marketing/attribution
Authentication: Admin (Required)
Response#
Success:
{
success,
data,
}Also returns:
{
success,
data,
}Error (500):
{
success,
message,
}Example Request#
curl -X GET 'https://your-store.omnicart.cc/admin/marketing/attribution' \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: application/json'GET Admin Marketing Campaigns#
Endpoint: GET /admin/marketing/campaigns
Authentication: Admin (Required)
Description#
// List campaigns
Response#
Success:
{
success,
data,
meta,
}Also returns:
{
success,
data,
meta,
}Example Request#
curl -X GET 'https://your-store.omnicart.cc/admin/marketing/campaigns' \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: application/json'POST Admin Marketing Campaigns#
Endpoint: POST /admin/marketing/campaigns
Authentication: Admin (Required)
Description#
// Create campaign
Request Body#
| Field | Type | Required |
|---|---|---|
name |
string | Yes |
platform |
enum | Yes |
platform_campaign_id |
string | Yes |
status |
enum | No |
objective |
string | No |
budget |
number | No |
start_date |
string | No |
end_date |
string | No |
metadata |
record | No |
Response#
Success (201):
{
success,
data,
message,
}Example Request#
curl -X POST 'https://your-store.omnicart.cc/admin/marketing/campaigns' \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: application/json'GET Admin Marketing Campaigns :id#
Endpoint: GET /admin/marketing/campaigns/:id
Authentication: Admin (Required)
Description#
// Get campaign by ID
URL Parameters#
| Parameter | Type | Required | Description |
|---|---|---|---|
id |
string | Yes | Id identifier |
Response#
Success:
{
success,
data,
}Also returns:
{
success,
data,
}Example Request#
curl -X GET 'https://your-store.omnicart.cc/admin/marketing/campaigns/:id' \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: application/json'PATCH Admin Marketing Campaigns :id#
Endpoint: PATCH /admin/marketing/campaigns/:id
Authentication: Admin (Required)
Description#
// Update campaign
URL Parameters#
| Parameter | Type | Required | Description |
|---|---|---|---|
id |
string | Yes | Id identifier |
Request Body#
| Field | Type | Required |
|---|---|---|
name |
string | No |
status |
enum | No |
budget |
number | No |
end_date |
string | No |
metadata |
record | No |
Response#
Success:
{
success,
data,
message,
}Example Request#
curl -X PATCH 'https://your-store.omnicart.cc/admin/marketing/campaigns/:id' \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: application/json'DELETE Admin Marketing Campaigns :id#
Endpoint: DELETE /admin/marketing/campaigns/:id
Authentication: Admin (Required)
Description#
// Delete campaign
URL Parameters#
| Parameter | Type | Required | Description |
|---|---|---|---|
id |
string | Yes | Id identifier |
Response#
Success:
{
success,
message,
archived,
}Also returns:
{
success,
message,
deleted,
}Example Request#
curl -X DELETE 'https://your-store.omnicart.cc/admin/marketing/campaigns/:id' \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: application/json'GET Admin Marketing Campaigns :id Insights#
Endpoint: GET /admin/marketing/campaigns/:id/insights
Authentication: Admin (Required)
Description#
// Get campaign insights
URL Parameters#
| Parameter | Type | Required | Description |
|---|---|---|---|
id |
string | Yes | Id identifier |
Response#
Success:
{
success,
data,
}Error (404):
{
success,
message,
}Error (400):
{
success,
message,
}Example Request#
curl -X GET 'https://your-store.omnicart.cc/admin/marketing/campaigns/:id/insights' \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: application/json'GET Admin Marketing Clickhouse#
Endpoint: GET /admin/marketing/clickhouse
Authentication: Admin (Required)
Description#
// GET /admin/marketing/clickhouse - Get ClickHouse configuration
Response#
Success:
{
success,
data,
}Example Request#
curl -X GET 'https://your-store.omnicart.cc/admin/marketing/clickhouse' \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: application/json'POST Admin Marketing Clickhouse#
Endpoint: POST /admin/marketing/clickhouse
Authentication: Admin (Required)
Description#
// POST /admin/marketing/clickhouse - Save ClickHouse configuration
Request Body#
| Field | Type | Required |
|---|---|---|
url |
unknown | Yes |
database |
string | Yes |
user |
string | Yes |
password |
string | Yes |
Response#
Success:
{
success,
message,
data,
}Example Request#
curl -X POST 'https://your-store.omnicart.cc/admin/marketing/clickhouse' \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: application/json'DELETE Admin Marketing Clickhouse#
Endpoint: DELETE /admin/marketing/clickhouse
Authentication: Admin (Required)
Description#
// DELETE /admin/marketing/clickhouse - Remove ClickHouse configuration
Response#
Success:
{
success,
message,
}Example Request#
curl -X DELETE 'https://your-store.omnicart.cc/admin/marketing/clickhouse' \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: application/json'GET Admin Marketing Creatives#
Endpoint: GET /admin/marketing/creatives
Authentication: Admin (Required)
Description#
// List creatives
Response#
Success:
{
success,
data,
}Error (400):
{
success,
message,
}Example Request#
curl -X GET 'https://your-store.omnicart.cc/admin/marketing/creatives' \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: application/json'POST Admin Marketing Creatives#
Endpoint: POST /admin/marketing/creatives
Authentication: Admin (Required)
Description#
// Create creative
Request Body#
| Field | Type | Required |
|---|---|---|
adSetId |
string | No |
campaignId |
string | No |
type |
enum | No |
status |
enum | No |
performanceStatus |
enum | No |
limit |
number | No |
offset |
number | No |
order |
enum(created_at, ctr, conversions, spend) | No |
direction |
enum(ASC, DESC) | No |
Response#
Success (201):
{
success,
data,
}Error (404):
{
success,
message,
}Error (400):
{
success,
message,
}Example Request#
curl -X POST 'https://your-store.omnicart.cc/admin/marketing/creatives' \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: application/json'GET Admin Marketing Credentials#
Endpoint: GET /admin/marketing/credentials
Authentication: Admin (Required)
Description#
// GET - Get credentials for all platforms
Response#
Success:
{
success,
data,
}Example Request#
curl -X GET 'https://your-store.omnicart.cc/admin/marketing/credentials' \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: application/json'POST Admin Marketing Credentials#
Endpoint: POST /admin/marketing/credentials
Authentication: Admin (Required)
Description#
// POST - Save credentials for a platform
Request Body#
| Field | Type | Required |
|---|---|---|
platform |
enum | Yes |
facebook_app_id |
string | No |
facebook_app_secret |
string | No |
facebook_access_token |
string | No |
facebook_ad_account_id |
string | No |
facebook_webhook_verify_token |
string | No |
google_client_id |
string | No |
google_client_secret |
string | No |
google_refresh_token |
string | No |
google_developer_token |
string | No |
google_customer_id |
string | No |
google_webhook_secret |
string | No |
tiktok_app_id |
string | No |
tiktok_app_secret |
string | No |
tiktok_access_token |
string | No |
tiktok_advertiser_id |
string | No |
tiktok_webhook_secret |
string | No |
tiktok_webhook_verify_token |
string | No |
clickhouse_url |
string | No |
clickhouse_database |
string | No |
clickhouse_user |
string | No |
clickhouse_password |
string | No |
campaign_sync_enabled |
boolean | No |
campaign_sync_schedule |
string | No |
incremental_sync_enabled |
boolean | No |
incremental_sync_schedule |
string | No |
Response#
Success:
{
success,
message,
data,
}Example Request#
curl -X POST 'https://your-store.omnicart.cc/admin/marketing/credentials' \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: application/json'PUT Admin Marketing Credentials#
Endpoint: PUT /admin/marketing/credentials
Authentication: Admin (Required)
Description#
// PUT - Update credentials for a platform
Request Body#
| Field | Type | Required |
|---|---|---|
platform |
enum | Yes |
facebook_app_id |
string | No |
facebook_app_secret |
string | No |
facebook_access_token |
string | No |
facebook_ad_account_id |
string | No |
facebook_webhook_verify_token |
string | No |
google_client_id |
string | No |
google_client_secret |
string | No |
google_refresh_token |
string | No |
google_developer_token |
string | No |
google_customer_id |
string | No |
google_webhook_secret |
string | No |
tiktok_app_id |
string | No |
tiktok_app_secret |
string | No |
tiktok_access_token |
string | No |
tiktok_advertiser_id |
string | No |
tiktok_webhook_secret |
string | No |
tiktok_webhook_verify_token |
string | No |
clickhouse_url |
string | No |
clickhouse_database |
string | No |
clickhouse_user |
string | No |
clickhouse_password |
string | No |
campaign_sync_enabled |
boolean | No |
campaign_sync_schedule |
string | No |
incremental_sync_enabled |
boolean | No |
incremental_sync_schedule |
string | No |
Response#
Success:
{
success,
message,
data,
}Example Request#
curl -X PUT 'https://your-store.omnicart.cc/admin/marketing/credentials' \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: application/json'DELETE Admin Marketing Credentials#
Endpoint: DELETE /admin/marketing/credentials
Authentication: Admin (Required)
Description#
// DELETE - Remove credentials for a platform
Response#
Success:
{
success,
message,
}Example Request#
curl -X DELETE 'https://your-store.omnicart.cc/admin/marketing/credentials' \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: application/json'GET Admin Marketing Customer-journey :customerId#
Endpoint: GET /admin/marketing/customer-journey/:customerId
Authentication: Admin (Required)
Description#
// Get customer journey analysis
URL Parameters#
| Parameter | Type | Required | Description |
|---|---|---|---|
customerId |
string | Yes | CustomerId identifier |
Response#
Success:
{
success,
data,
}Error (404):
{
success,
message,
}Error (400):
{
success,
message,
}Example Request#
curl -X GET 'https://your-store.omnicart.cc/admin/marketing/customer-journey/:customerId' \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: application/json'GET Admin Marketing Dashboard#
Endpoint: GET /admin/marketing/dashboard
Authentication: Admin (Required)
Response#
Success:
{
metrics,
platformBreakdown,
recentCampaigns,
timeSeriesData,
dateRange,
}Example Request#
curl -X GET 'https://your-store.omnicart.cc/admin/marketing/dashboard' \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: application/json'GET Admin Marketing Paid-acquisition#
Endpoint: GET /admin/marketing/paid-acquisition
Authentication: Admin (Required)
Description#
GET /admin/marketing/paid-acquisition Generate paid acquisition operational report with query parameters
Response#
The handler does not return an object literal, so the response shape is not derivable from the source.
Example Request#
curl -X GET 'https://your-store.omnicart.cc/admin/marketing/paid-acquisition' \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: application/json'POST Admin Marketing Paid-acquisition#
Endpoint: POST /admin/marketing/paid-acquisition
Authentication: Admin (Required)
Description#
POST /admin/marketing/paid-acquisition Generate paid acquisition operational report with advanced filtering
Request Body#
| Field | Type | Required |
|---|---|---|
start_date |
string | Yes |
end_date |
string | Yes |
platforms |
string | No |
campaigns |
string | No |
funnel_stages |
string | No |
funnel_types |
string | No |
attribution_model |
unknown | No |
attribution_window_days |
string | No |
granularity |
unknown | No |
drill_down_dimensions |
string | No |
metrics |
string | No |
sort_by |
string | No |
sort_order |
enum(asc, desc) | No |
limit |
string | No |
offset |
string | No |
Response#
The handler does not return an object literal, so the response shape is not derivable from the source.
Example Request#
curl -X POST 'https://your-store.omnicart.cc/admin/marketing/paid-acquisition' \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: application/json'POST Admin Marketing Paid-acquisition Export#
Endpoint: POST /admin/marketing/paid-acquisition/export
Authentication: Admin (Required)
Description#
POST /admin/marketing/paid-acquisition/export Export paid acquisition operational report in various formats
Request Body#
| Field | Type | Required |
|---|---|---|
reportRequest |
record | No |
format |
unknown | Yes |
includeCharts |
boolean | No |
includeRawData |
boolean | No |
customFields |
array | No |
fileName |
string | No |
Response#
Success:
{
success,
data,
meta,
}Example Request#
curl -X POST 'https://your-store.omnicart.cc/admin/marketing/paid-acquisition/export' \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: application/json'GET Admin Marketing Paid-acquisition Search#
Endpoint: GET /admin/marketing/paid-acquisition/search
Authentication: Admin (Required)
Description#
GET /admin/marketing/paid-acquisition/search Search and filter paid acquisition data with query parameters
Response#
Success:
{
success,
data,
facets,
meta,
}Example Request#
curl -X GET 'https://your-store.omnicart.cc/admin/marketing/paid-acquisition/search' \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: application/json'POST Admin Marketing Paid-acquisition Search#
Endpoint: POST /admin/marketing/paid-acquisition/search
Authentication: Admin (Required)
Description#
POST /admin/marketing/paid-acquisition/search Advanced search with complex filtering and faceted search
Request Body#
| Field | Type | Required |
|---|---|---|
query |
string | No |
facets |
string | No |
platforms |
string | No |
campaigns |
string | No |
funnel_stages |
string | No |
funnel_types |
string | No |
attribution_model |
unknown | No |
start_date |
string | No |
end_date |
string | No |
min_spend |
string | No |
max_spend |
string | No |
min_roas |
string | No |
max_roas |
string | No |
min_conversions |
string | No |
max_conversions |
string | No |
countries |
string | No |
regions |
string | No |
age_groups |
string | No |
genders |
string | No |
device_types |
string | No |
sort_by |
string | No |
sort_order |
enum(asc, desc) | No |
limit |
string | No |
offset |
string | No |
Response#
Success:
{
success,
data,
facets,
aggregations,
meta,
}Example Request#
curl -X POST 'https://your-store.omnicart.cc/admin/marketing/paid-acquisition/search' \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: application/json'GET Admin Marketing Platforms#
Endpoint: GET /admin/marketing/platforms
Authentication: Admin (Required)
Description#
// Get platform overview
Response#
Success:
{
success,
data,
}Error (400):
{
success,
message,
}Example Request#
curl -X GET 'https://your-store.omnicart.cc/admin/marketing/platforms' \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: application/json'GET Admin Marketing Simple#
Endpoint: GET /admin/marketing/simple
Authentication: Admin (Required)
Response#
Error (500):
{
error,
message,
}Example Request#
curl -X GET 'https://your-store.omnicart.cc/admin/marketing/simple' \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: application/json'POST Admin Marketing Sync#
Endpoint: POST /admin/marketing/sync
Authentication: Admin (Required)
Description#
// Sync campaigns from advertising platforms
Request Body#
| Field | Type | Required |
|---|---|---|
platform |
enum | Yes |
accountId |
string | Yes |
syncType |
enum(campaigns, full) | No |
options |
object | No |
Response#
Success:
{
success,
data,
message,
}Error (400):
{
success,
message,
}Example Request#
curl -X POST 'https://your-store.omnicart.cc/admin/marketing/sync' \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: application/json'POST Admin Marketing Sync Campaign#
Endpoint: POST /admin/marketing/sync/campaign
Authentication: Admin (Required)
Description#
// POST - Trigger campaign sync
Request Body#
| Field | Type | Required |
|---|---|---|
platform |
enum | No |
accountId |
string | No |
Response#
Success:
{
success,
message,
data,
}Example Request#
curl -X POST 'https://your-store.omnicart.cc/admin/marketing/sync/campaign' \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: application/json'POST Admin Marketing Sync Incremental#
Endpoint: POST /admin/marketing/sync/incremental
Authentication: Admin (Required)
Description#
// POST - Trigger incremental sync
Request Body#
| Field | Type | Required |
|---|---|---|
platform |
enum | No |
lookbackDays |
number | No |
Response#
Success:
{
success,
message,
data,
}Example Request#
curl -X POST 'https://your-store.omnicart.cc/admin/marketing/sync/incremental' \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: application/json'GET Admin Marketing Webhooks Facebook#
Endpoint: GET /admin/marketing/webhooks/facebook
Authentication: Admin (Required)
Description#
// GET endpoint for webhook verification
Response#
Error (400):
{
success,
message,
errors,
}Example Request#
curl -X GET 'https://your-store.omnicart.cc/admin/marketing/webhooks/facebook' \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: application/json'POST Admin Marketing Webhooks Facebook#
Endpoint: POST /admin/marketing/webhooks/facebook
Authentication: Admin (Required)
Description#
// POST endpoint for webhook events
Request Body#
| Field | Type | Required |
|---|---|---|
hub.mode |
unknown | Yes |
hub.challenge |
string | Yes |
hub.verify_token |
string | Yes |
Response#
Success (200):
{
success,
received,
processed,
errors,
}Example Request#
curl -X POST 'https://your-store.omnicart.cc/admin/marketing/webhooks/facebook' \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: application/json'HEAD Admin Marketing Webhooks Facebook#
Endpoint: HEAD /admin/marketing/webhooks/facebook
Authentication: Admin (Required)
Description#
// Health check endpoint
Response#
The handler does not return an object literal, so the response shape is not derivable from the source.
Example Request#
curl -X HEAD 'https://your-store.omnicart.cc/admin/marketing/webhooks/facebook' \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: application/json'POST Admin Marketing Webhooks Google#
Endpoint: POST /admin/marketing/webhooks/google
Authentication: Admin (Required)
Description#
// POST endpoint for Google Ads webhook events
Request Body#
| Field | Type | Required |
|---|---|---|
customerId |
string | Yes |
eventType |
enum(update, update, update, new, tracked, tracked, view, tracked, exhausted, violation) | Yes |
timestamp |
string | Yes |
data |
record | No |
signature |
string | Yes |
Response#
Success (200):
{
success,
received,
eventType,
processed,
}Also returns (200):
{
success,
received,
error,
}Example Request#
curl -X POST 'https://your-store.omnicart.cc/admin/marketing/webhooks/google' \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: application/json'GET Admin Marketing Webhooks Google#
Endpoint: GET /admin/marketing/webhooks/google
Authentication: Admin (Required)
Description#
// GET endpoint for webhook verification (if Google implements it)
Response#
Success (200):
{
status,
webhook,
}Example Request#
curl -X GET 'https://your-store.omnicart.cc/admin/marketing/webhooks/google' \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: application/json'POST Admin Marketing Webhooks Tiktok#
Endpoint: POST /admin/marketing/webhooks/tiktok
Authentication: Admin (Required)
Description#
// POST endpoint for TikTok webhook events
Request Body#
| Field | Type | Required |
|---|---|---|
event_type |
enum(track, complete, impression, click, view, view, submit, add_to_cart, checkout, purchase, install, open, status_change, exhausted) | Yes |
timestamp |
number | Yes |
advertiser_id |
string | Yes |
data |
record | No |
Response#
Success (200):
{
success,
received,
event_type,
processed,
}Also returns (200):
{
success,
received,
error,
}Example Request#
curl -X POST 'https://your-store.omnicart.cc/admin/marketing/webhooks/tiktok' \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: application/json'GET Admin Marketing Webhooks Tiktok#
Endpoint: GET /admin/marketing/webhooks/tiktok
Authentication: Admin (Required)
Description#
// GET endpoint for webhook verification
Response#
Success (200):
{
code,
message,
}Also returns (200):
{
status,
webhook,
}Error (401):
{
code,
message,
}Example Request#
curl -X GET 'https://your-store.omnicart.cc/admin/marketing/webhooks/tiktok' \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: application/json'HEAD Admin Marketing Webhooks Tiktok#
Endpoint: HEAD /admin/marketing/webhooks/tiktok
Authentication: Admin (Required)
Description#
// HEAD endpoint for health check
Response#
The handler does not return an object literal, so the response shape is not derivable from the source.
Example Request#
curl -X HEAD 'https://your-store.omnicart.cc/admin/marketing/webhooks/tiktok' \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: application/json'GET Admin Me#
Endpoint: GET /admin/me
Authentication: Admin (Required)
Description#
GET /admin/me Returns the currently logged-in admin user
Response#
Success:
{
user,
}Error (500):
{
error,
message,
}Example Request#
curl -X GET 'https://your-store.omnicart.cc/admin/me' \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: application/json'GET Admin My-stores#
Endpoint: GET /admin/my-stores
Authentication: Admin (Required)
Response#
Success:
{
stores,
}Also returns:
{
stores,
}Also returns:
{
stores,
}Also returns:
{
stores,
}Also returns:
{
stores,
}Example Request#
curl -X GET 'https://your-store.omnicart.cc/admin/my-stores' \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: application/json'POST Admin My-stores Switch#
Endpoint: POST /admin/my-stores/switch
Authentication: Admin (Required)
Request Body#
This route does not declare a validation schema, so the accepted fields are not derivable from the source. Check the handler before relying on a particular body.
Response#
Success:
{
error,
}Also returns:
{
redirectUrl,
expiresInSeconds,
}Error (400):
{
error,
}Error (503):
{
error,
}Error (403):
{
error,
}Error (502):
{
error,
}Example Request#
curl -X POST 'https://your-store.omnicart.cc/admin/my-stores/switch' \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: application/json'GET Admin Payment-diagnostics#
Endpoint: GET /admin/payment-diagnostics
Authentication: Admin (Required)
Description#
GET /admin/payment-diagnostics Diagnostic endpoint to identify payment session issues
Response#
Success:
{
...diagnostics
summary,
}Error (400):
{
message,
}Error (404):
{
message,
}Error (500):
{
message,
error,
}Example Request#
curl -X GET 'https://your-store.omnicart.cc/admin/payment-diagnostics' \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: application/json'POST Admin Payment-diagnostics#
Endpoint: POST /admin/payment-diagnostics
Authentication: Admin (Required)
Description#
POST /admin/payment-diagnostics/cleanup Force cleanup of stale payment sessions
Request Body#
This route does not declare a validation schema, so the accepted fields are not derivable from the source. Check the handler before relying on a particular body.
Response#
Success:
{
success,
cleaned,
failed,
details,
duration,
}Error (400):
{
message,
}Error (500):
{
message,
error,
}Example Request#
curl -X POST 'https://your-store.omnicart.cc/admin/payment-diagnostics' \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: application/json'POST Admin Payments :id Sync-stripe#
Endpoint: POST /admin/payments/:id/sync-stripe
Authentication: Admin (Required)
Description#
POST /admin/payments/:id/sync-stripe Syncs payment status from Stripe to OmniCart. Fetches the latest payment intent status including: - Payment status (succeeded, canceled, etc.) - Dispute status (if disputed) - Refund status Updates the payment record metadata with current Stripe status.
URL Parameters#
| Parameter | Type | Required | Description |
|---|---|---|---|
id |
string | Yes | Id identifier |
Request Body#
This route does not declare a validation schema, so the accepted fields are not derivable from the source. Check the handler before relying on a particular body.
Response#
Success (200):
{
success,
payment_id,
stripe_payment_intent,
status,
warnings,
sync_details,
}Error (404):
{
type,
message,
}Error (400):
{
type,
message,
}Error (400):
{
type,
message,
}Error (500):
{
type,
message,
}Error (400):
{
type,
message,
code,
}Error (500):
{
type,
message,
}Example Request#
curl -X POST 'https://your-store.omnicart.cc/admin/payments/:id/sync-stripe' \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: application/json'GET Admin Promotions :id :rule_type#
Endpoint: GET /admin/promotions/:id/:rule_type
Authentication: Admin (Required)
URL Parameters#
| Parameter | Type | Required | Description |
|---|---|---|---|
id |
string | Yes | Id identifier |
rule_type |
string | Yes | Rule_type identifier |
Response#
Success:
{
rules,
}Example Request#
curl -X GET 'https://your-store.omnicart.cc/admin/promotions/:id/:rule_type' \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: application/json'GET Admin Promotions :id Rule-divergence#
Endpoint: GET /admin/promotions/:id/rule-divergence
Authentication: Admin (Required)
URL Parameters#
| Parameter | Type | Required | Description |
|---|---|---|---|
id |
string | Yes | Id identifier |
Response#
The handler does not return an object literal, so the response shape is not derivable from the source.
Example Request#
curl -X GET 'https://your-store.omnicart.cc/admin/promotions/:id/rule-divergence' \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: application/json'POST Admin Promotions :id Rule-divergence#
Endpoint: POST /admin/promotions/:id/rule-divergence
Authentication: Admin (Required)
URL Parameters#
| Parameter | Type | Required | Description |
|---|---|---|---|
id |
string | Yes | Id identifier |
Request Body#
This route does not declare a validation schema, so the accepted fields are not derivable from the source. Check the handler before relying on a particular body.
Response#
Success:
{
applied,
mode,
synced_product_ids,
synced_products,
...serialise(after.promotion, after.divergence, after.missingProducts, after.plan)
}Example Request#
curl -X POST 'https://your-store.omnicart.cc/admin/promotions/:id/rule-divergence' \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: application/json'GET Admin Promotions Rule-attribute-options :rule_type#
Endpoint: GET /admin/promotions/rule-attribute-options/:rule_type
Authentication: Admin (Required)
URL Parameters#
| Parameter | Type | Required | Description |
|---|---|---|---|
rule_type |
string | Yes | Rule_type identifier |
Response#
Success:
{
attributes,
}Example Request#
curl -X GET 'https://your-store.omnicart.cc/admin/promotions/rule-attribute-options/:rule_type' \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: application/json'GET Admin Promotions Rule-value-options :rule_type :rule_attribute_id#
Endpoint: GET /admin/promotions/rule-value-options/:rule_type/:rule_attribute_id
Authentication: Admin (Required)
URL Parameters#
| Parameter | Type | Required | Description |
|---|---|---|---|
rule_type |
string | Yes | Rule_type identifier |
rule_attribute_id |
string | Yes | Rule_attribute_id identifier |
Response#
Success:
{
values,
count,
offset,
limit,
}Also returns:
{
values,
count,
estimate_count,
offset,
limit,
}Also returns:
{
values,
count,
offset,
limit,
}Example Request#
curl -X GET 'https://your-store.omnicart.cc/admin/promotions/rule-value-options/:rule_type/:rule_attribute_id' \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: application/json'GET Admin Purchase-orders#
Endpoint: GET /admin/purchase-orders
Authentication: Admin (Required)
Response#
Success:
{
purchase_orders,
count,
}Error (400):
{
message,
}Error (500):
{
message,
error,
}Example Request#
curl -X GET 'https://your-store.omnicart.cc/admin/purchase-orders' \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: application/json'POST Admin Purchase-orders#
Endpoint: POST /admin/purchase-orders
Authentication: Admin (Required)
Request Body#
| Field | Type | Required |
|---|---|---|
inventory_item_id |
string | No |
variant_id |
string | No |
location_id |
string | Yes |
quantity |
string | Yes |
unit_cost |
string | Yes |
valuation_method |
enum(FIFO, LIFO, WEIGHTED_AVG) | No |
supplier_id |
string | No |
purchase_date |
string | No |
currency_code |
string | No |
notes |
string | No |
metadata |
record | No |
Response#
Success (201):
{
module_enabled,
purchase_order,
inventory_costs,
}Error (400):
{
message,
}Error (400):
{
message,
issues,
}Error (400):
{
message,
}Error (400):
{
message,
}Error (400):
{
message,
}Error (500):
{
message,
error,
}Example Request#
curl -X POST 'https://your-store.omnicart.cc/admin/purchase-orders' \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: application/json'GET Admin Renewals#
Endpoint: GET /admin/renewals
Authentication: Admin (Required)
Response#
The handler does not return an object literal, so the response shape is not derivable from the source.
Example Request#
curl -X GET 'https://your-store.omnicart.cc/admin/renewals' \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: application/json'GET Admin Renewals :id#
Endpoint: GET /admin/renewals/:id
Authentication: Admin (Required)
URL Parameters#
| Parameter | Type | Required | Description |
|---|---|---|---|
id |
string | Yes | Id identifier |
Response#
The handler does not return an object literal, so the response shape is not derivable from the source.
Example Request#
curl -X GET 'https://your-store.omnicart.cc/admin/renewals/:id' \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: application/json'POST Admin Renewals :id Approve-changes#
Endpoint: POST /admin/renewals/:id/approve-changes
Authentication: Admin (Required)
URL Parameters#
| Parameter | Type | Required | Description |
|---|---|---|---|
id |
string | Yes | Id identifier |
Request Body#
This route does not declare a validation schema, so the accepted fields are not derivable from the source. Check the handler before relying on a particular body.
Response#
Success:
{
type,
message,
}Example Request#
curl -X POST 'https://your-store.omnicart.cc/admin/renewals/:id/approve-changes' \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: application/json'POST Admin Renewals :id Force#
Endpoint: POST /admin/renewals/:id/force
Authentication: Admin (Required)
URL Parameters#
| Parameter | Type | Required | Description |
|---|---|---|---|
id |
string | Yes | Id identifier |
Request Body#
This route does not declare a validation schema, so the accepted fields are not derivable from the source. Check the handler before relying on a particular body.
Response#
Success:
{
type,
message,
}Example Request#
curl -X POST 'https://your-store.omnicart.cc/admin/renewals/:id/force' \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: application/json'POST Admin Renewals :id Reject-changes#
Endpoint: POST /admin/renewals/:id/reject-changes
Authentication: Admin (Required)
URL Parameters#
| Parameter | Type | Required | Description |
|---|---|---|---|
id |
string | Yes | Id identifier |
Request Body#
This route does not declare a validation schema, so the accepted fields are not derivable from the source. Check the handler before relying on a particular body.
Response#
Success:
{
type,
message,
}Example Request#
curl -X POST 'https://your-store.omnicart.cc/admin/renewals/:id/reject-changes' \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: application/json'GET Admin Reviews#
Endpoint: GET /admin/reviews
Authentication: Admin (Required)
Response#
Success:
{
reviews,
count,
limit,
offset,
}Example Request#
curl -X GET 'https://your-store.omnicart.cc/admin/reviews' \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: application/json'POST Admin Reviews Status#
Endpoint: POST /admin/reviews/status
Authentication: Admin (Required)
Request Body#
| Field | Type | Required |
|---|---|---|
ids |
array | Yes |
status |
enum(pending, approved, rejected) | Yes |
Response#
The handler does not return an object literal, so the response shape is not derivable from the source.
Example Request#
curl -X POST 'https://your-store.omnicart.cc/admin/reviews/status' \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: application/json'GET Admin Scheduled-jobs#
Endpoint: GET /admin/scheduled-jobs
Authentication: Admin (Required)
Response#
The handler does not return an object literal, so the response shape is not derivable from the source.
Example Request#
curl -X GET 'https://your-store.omnicart.cc/admin/scheduled-jobs' \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: application/json'GET Admin Scheduled-jobs :name#
Endpoint: GET /admin/scheduled-jobs/:name
Authentication: Admin (Required)
URL Parameters#
| Parameter | Type | Required | Description |
|---|---|---|---|
name |
string | Yes | Name identifier |
Response#
Error (400):
{
error,
}Example Request#
curl -X GET 'https://your-store.omnicart.cc/admin/scheduled-jobs/:name' \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: application/json'GET Admin Send#
Endpoint: GET /admin/send
Authentication: Admin (Required)
Description#
Parent route for /admin/send This route handles delegation to sub-routes
Response#
Error (404):
{
error,
}Example Request#
curl -X GET 'https://your-store.omnicart.cc/admin/send' \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: application/json'POST Admin Send#
Endpoint: POST /admin/send
Authentication: Admin (Required)
Request Body#
This route does not declare a validation schema, so the accepted fields are not derivable from the source. Check the handler before relying on a particular body.
Response#
Error (404):
{
error,
}Example Request#
curl -X POST 'https://your-store.omnicart.cc/admin/send' \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: application/json'GET Admin Send Email-templates#
Endpoint: GET /admin/send/email-templates
Authentication: Admin (Required)
Description#
GET /admin/send/email-templates List all email templates with optional filtering
Response#
Success:
{
templates,
count,
}Error (400):
{
error,
}Example Request#
curl -X GET 'https://your-store.omnicart.cc/admin/send/email-templates' \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: application/json'POST Admin Send Email-templates#
Endpoint: POST /admin/send/email-templates
Authentication: Admin (Required)
Description#
POST /admin/send/email-templates Create a new email template
Request Body#
This route does not declare a validation schema, so the accepted fields are not derivable from the source. Check the handler before relying on a particular body.
Response#
Success (201):
{
template,
}Error (400):
{
error,
}Error (400):
{
error,
}Error (400):
{
error,
}Example Request#
curl -X POST 'https://your-store.omnicart.cc/admin/send/email-templates' \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: application/json'GET Admin Send Email-templates :id#
Endpoint: GET /admin/send/email-templates/:id
Authentication: Admin (Required)
Description#
GET /admin/send/email-templates/:id Get a specific email template
URL Parameters#
| Parameter | Type | Required | Description |
|---|---|---|---|
id |
string | Yes | Id identifier |
Response#
Success:
{
template,
}Error (404):
{
error,
}Error (400):
{
error,
}Example Request#
curl -X GET 'https://your-store.omnicart.cc/admin/send/email-templates/:id' \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: application/json'PUT Admin Send Email-templates :id#
Endpoint: PUT /admin/send/email-templates/:id
Authentication: Admin (Required)
Description#
PUT /admin/send/email-templates/:id Update an email template
URL Parameters#
| Parameter | Type | Required | Description |
|---|---|---|---|
id |
string | Yes | Id identifier |
Request Body#
This route does not declare a validation schema, so the accepted fields are not derivable from the source. Check the handler before relying on a particular body.
Response#
Success:
{
template,
}Error (400):
{
error,
}Error (404):
{
error,
}Error (404):
{
error,
}Error (400):
{
error,
}Example Request#
curl -X PUT 'https://your-store.omnicart.cc/admin/send/email-templates/:id' \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: application/json'DELETE Admin Send Email-templates :id#
Endpoint: DELETE /admin/send/email-templates/:id
Authentication: Admin (Required)
Description#
DELETE /admin/send/email-templates/:id Delete an email template (soft delete)
URL Parameters#
| Parameter | Type | Required | Description |
|---|---|---|---|
id |
string | Yes | Id identifier |
Response#
Success:
{
success,
}Error (404):
{
error,
}Error (400):
{
error,
}Example Request#
curl -X DELETE 'https://your-store.omnicart.cc/admin/send/email-templates/:id' \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: application/json'POST Admin Send Email-templates :id Preview#
Endpoint: POST /admin/send/email-templates/:id/preview
Authentication: Admin (Required)
Description#
POST /admin/send/email-templates/:id/preview Preview an email template with sample or custom data
URL Parameters#
| Parameter | Type | Required | Description |
|---|---|---|---|
id |
string | Yes | Id identifier |
Request Body#
This route does not declare a validation schema, so the accepted fields are not derivable from the source. Check the handler before relying on a particular body.
Response#
Success:
{
preview,
}Error (404):
{
error,
}Error (400):
{
error,
}Example Request#
curl -X POST 'https://your-store.omnicart.cc/admin/send/email-templates/:id/preview' \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: application/json'POST Admin Send Email-templates :id Render#
Endpoint: POST /admin/send/email-templates/:id/render
Authentication: Admin (Required)
Description#
POST /admin/send/email-templates/:id/render Render an email template with sample data
URL Parameters#
| Parameter | Type | Required | Description |
|---|---|---|---|
id |
string | Yes | Id identifier |
Request Body#
This route does not declare a validation schema, so the accepted fields are not derivable from the source. Check the handler before relying on a particular body.
Response#
Success:
{
rendered,
sampleData,
}Error (400):
{
error,
}Example Request#
curl -X POST 'https://your-store.omnicart.cc/admin/send/email-templates/:id/render' \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: application/json'POST Admin Send Email-templates Validate#
Endpoint: POST /admin/send/email-templates/validate
Authentication: Admin (Required)
Description#
POST /admin/send/email-templates/validate Validate email template syntax without saving
Request Body#
This route does not declare a validation schema, so the accepted fields are not derivable from the source. Check the handler before relying on a particular body.
Response#
Success:
{
isValid,
message,
}Error (400):
{
error,
}Error (400):
{
error,
}Example Request#
curl -X POST 'https://your-store.omnicart.cc/admin/send/email-templates/validate' \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: application/json'GET Admin Site-types#
Endpoint: GET /admin/site-types
Authentication: Admin (Required)
Response#
Success:
{
items,
}Example Request#
curl -X GET 'https://your-store.omnicart.cc/admin/site-types' \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: application/json'POST Admin Site-types#
Endpoint: POST /admin/site-types
Authentication: Admin (Required)
Request Body#
| Field | Type | Required |
|---|---|---|
key |
string | Yes |
label |
string | No |
framework |
string | No |
active |
boolean | No |
template_owner |
string | No |
template_repo |
string | No |
repo_provider |
string | No |
repo_owner |
string | No |
repo_name |
string | No |
default_branch |
string | No |
suggested_envs |
any | No |
Response#
Success:
{
item,
}Example Request#
curl -X POST 'https://your-store.omnicart.cc/admin/site-types' \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: application/json'GET Admin Site-types :id#
Endpoint: GET /admin/site-types/:id
Authentication: Admin (Required)
URL Parameters#
| Parameter | Type | Required | Description |
|---|---|---|---|
id |
string | Yes | Id identifier |
Response#
Success:
{
item,
}Example Request#
curl -X GET 'https://your-store.omnicart.cc/admin/site-types/:id' \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: application/json'PATCH Admin Site-types :id#
Endpoint: PATCH /admin/site-types/:id
Authentication: Admin (Required)
URL Parameters#
| Parameter | Type | Required | Description |
|---|---|---|---|
id |
string | Yes | Id identifier |
Request Body#
| Field | Type | Required |
|---|---|---|
label |
string | No |
framework |
string | No |
active |
boolean | No |
template_owner |
string | No |
template_repo |
string | No |
repo_provider |
string | No |
repo_owner |
string | No |
repo_name |
string | No |
default_branch |
string | No |
suggested_envs |
any | No |
Response#
Success:
{
item,
}Example Request#
curl -X PATCH 'https://your-store.omnicart.cc/admin/site-types/:id' \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: application/json'DELETE Admin Site-types :id#
Endpoint: DELETE /admin/site-types/:id
Authentication: Admin (Required)
URL Parameters#
| Parameter | Type | Required | Description |
|---|---|---|---|
id |
string | Yes | Id identifier |
Response#
The handler does not return an object literal, so the response shape is not derivable from the source.
Example Request#
curl -X DELETE 'https://your-store.omnicart.cc/admin/site-types/:id' \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: application/json'GET Admin Subscription-analytics Export#
Endpoint: GET /admin/subscription-analytics/export
Authentication: Admin (Required)
Response#
Success:
{
type,
message,
}Example Request#
curl -X GET 'https://your-store.omnicart.cc/admin/subscription-analytics/export' \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: application/json'GET Admin Subscription-analytics Kpis#
Endpoint: GET /admin/subscription-analytics/kpis
Authentication: Admin (Required)
Response#
Success:
{
type,
message,
}Example Request#
curl -X GET 'https://your-store.omnicart.cc/admin/subscription-analytics/kpis' \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: application/json'POST Admin Subscription-analytics Rebuild#
Endpoint: POST /admin/subscription-analytics/rebuild
Authentication: Admin (Required)
Request Body#
This route does not declare a validation schema, so the accepted fields are not derivable from the source. Check the handler before relying on a particular body.
Response#
Success (200):
{
rebuild,
}Also returns:
{
type,
message,
}Error (400):
{
type,
message,
}Example Request#
curl -X POST 'https://your-store.omnicart.cc/admin/subscription-analytics/rebuild' \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: application/json'GET Admin Subscription-analytics Trends#
Endpoint: GET /admin/subscription-analytics/trends
Authentication: Admin (Required)
Response#
Success:
{
type,
message,
}Example Request#
curl -X GET 'https://your-store.omnicart.cc/admin/subscription-analytics/trends' \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: application/json'GET Admin Subscription-logs#
Endpoint: GET /admin/subscription-logs
Authentication: Admin (Required)
Response#
Success:
{
type,
message,
}Example Request#
curl -X GET 'https://your-store.omnicart.cc/admin/subscription-logs' \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: application/json'GET Admin Subscription-logs :id#
Endpoint: GET /admin/subscription-logs/:id
Authentication: Admin (Required)
URL Parameters#
| Parameter | Type | Required | Description |
|---|---|---|---|
id |
string | Yes | Id identifier |
Response#
Success:
{
type,
message,
}Example Request#
curl -X GET 'https://your-store.omnicart.cc/admin/subscription-logs/:id' \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: application/json'GET Admin Subscription-offers#
Endpoint: GET /admin/subscription-offers
Authentication: Admin (Required)
Response#
The handler does not return an object literal, so the response shape is not derivable from the source.
Example Request#
curl -X GET 'https://your-store.omnicart.cc/admin/subscription-offers' \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: application/json'POST Admin Subscription-offers#
Endpoint: POST /admin/subscription-offers
Authentication: Admin (Required)
Request Body#
This route does not declare a validation schema, so the accepted fields are not derivable from the source. Check the handler before relying on a particular body.
Response#
The handler does not return an object literal, so the response shape is not derivable from the source.
Example Request#
curl -X POST 'https://your-store.omnicart.cc/admin/subscription-offers' \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: application/json'GET Admin Subscription-offers :id#
Endpoint: GET /admin/subscription-offers/:id
Authentication: Admin (Required)
URL Parameters#
| Parameter | Type | Required | Description |
|---|---|---|---|
id |
string | Yes | Id identifier |
Response#
The handler does not return an object literal, so the response shape is not derivable from the source.
Example Request#
curl -X GET 'https://your-store.omnicart.cc/admin/subscription-offers/:id' \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: application/json'POST Admin Subscription-offers :id#
Endpoint: POST /admin/subscription-offers/:id
Authentication: Admin (Required)
URL Parameters#
| Parameter | Type | Required | Description |
|---|---|---|---|
id |
string | Yes | Id identifier |
Request Body#
This route does not declare a validation schema, so the accepted fields are not derivable from the source. Check the handler before relying on a particular body.
Response#
The handler does not return an object literal, so the response shape is not derivable from the source.
Example Request#
curl -X POST 'https://your-store.omnicart.cc/admin/subscription-offers/:id' \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: application/json'DELETE Admin Subscription-offers :id#
Endpoint: DELETE /admin/subscription-offers/:id
Authentication: Admin (Required)
Description#
Remove a plan offer. Until now an offer could only be disabled, so a list accumulated every one created by mistake and there was no way to tell those apart from offers deliberately paused. The delete is soft: the record stays available to anyone reconstructing why a subscription renewed at the price it did.
URL Parameters#
| Parameter | Type | Required | Description |
|---|---|---|---|
id |
string | Yes | Id identifier |
Response#
Success (200):
{
id,
object,
deleted,
}Example Request#
curl -X DELETE 'https://your-store.omnicart.cc/admin/subscription-offers/:id' \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: application/json'POST Admin Subscription-offers :id Toggle#
Endpoint: POST /admin/subscription-offers/:id/toggle
Authentication: Admin (Required)
URL Parameters#
| Parameter | Type | Required | Description |
|---|---|---|---|
id |
string | Yes | Id identifier |
Request Body#
This route does not declare a validation schema, so the accepted fields are not derivable from the source. Check the handler before relying on a particular body.
Response#
The handler does not return an object literal, so the response shape is not derivable from the source.
Example Request#
curl -X POST 'https://your-store.omnicart.cc/admin/subscription-offers/:id/toggle' \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: application/json'GET Admin Subscription-settings#
Endpoint: GET /admin/subscription-settings
Authentication: Admin (Required)
Response#
Success:
{
type,
message,
}Example Request#
curl -X GET 'https://your-store.omnicart.cc/admin/subscription-settings' \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: application/json'POST Admin Subscription-settings#
Endpoint: POST /admin/subscription-settings
Authentication: Admin (Required)
Request Body#
| Field | Type | Required |
|---|---|---|
default_trial_days |
number | No |
dunning_retry_intervals |
array | No |
max_dunning_attempts |
number | No |
default_renewal_behavior |
unknown | No |
default_cancellation_behavior |
unknown | No |
expected_version |
number | No |
reason |
string | No |
Response#
Success:
{
type,
message,
}Example Request#
curl -X POST 'https://your-store.omnicart.cc/admin/subscription-settings' \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: application/json'GET Admin Subscriptions#
Endpoint: GET /admin/subscriptions
Authentication: Admin (Required)
Response#
The handler does not return an object literal, so the response shape is not derivable from the source.
Example Request#
curl -X GET 'https://your-store.omnicart.cc/admin/subscriptions' \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: application/json'GET Admin Subscriptions :id#
Endpoint: GET /admin/subscriptions/:id
Authentication: Admin (Required)
URL Parameters#
| Parameter | Type | Required | Description |
|---|---|---|---|
id |
string | Yes | Id identifier |
Response#
The handler does not return an object literal, so the response shape is not derivable from the source.
Example Request#
curl -X GET 'https://your-store.omnicart.cc/admin/subscriptions/:id' \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: application/json'POST Admin Subscriptions :id Cancel#
Endpoint: POST /admin/subscriptions/:id/cancel
Authentication: Admin (Required)
URL Parameters#
| Parameter | Type | Required | Description |
|---|---|---|---|
id |
string | Yes | Id identifier |
Request Body#
This route does not declare a validation schema, so the accepted fields are not derivable from the source. Check the handler before relying on a particular body.
Response#
The handler does not return an object literal, so the response shape is not derivable from the source.
Example Request#
curl -X POST 'https://your-store.omnicart.cc/admin/subscriptions/:id/cancel' \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: application/json'GET Admin Subscriptions :id Notes#
Endpoint: GET /admin/subscriptions/:id/notes
Authentication: Admin (Required)
Description#
GET /admin/subscriptions/:id/notes Returns all notes for a subscription
URL Parameters#
| Parameter | Type | Required | Description |
|---|---|---|---|
id |
string | Yes | Id identifier |
Response#
Success:
{
notes,
}Error (500):
{
error,
message,
}Example Request#
curl -X GET 'https://your-store.omnicart.cc/admin/subscriptions/:id/notes' \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: application/json'POST Admin Subscriptions :id Notes#
Endpoint: POST /admin/subscriptions/:id/notes
Authentication: Admin (Required)
Description#
POST /admin/subscriptions/:id/notes Add a new note to a subscription Body: { content: string, tag?: "Called" | "Email" | "Issue" | "Shipping" | "Refund" | null }
URL Parameters#
| Parameter | Type | Required | Description |
|---|---|---|---|
id |
string | Yes | Id identifier |
Request Body#
This route does not declare a validation schema, so the accepted fields are not derivable from the source. Check the handler before relying on a particular body.
Response#
Success:
{
note,
notes,
}Error (500):
{
error,
message,
}Example Request#
curl -X POST 'https://your-store.omnicart.cc/admin/subscriptions/:id/notes' \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: application/json'DELETE Admin Subscriptions :id Notes :noteId#
Endpoint: DELETE /admin/subscriptions/:id/notes/:noteId
Authentication: Admin (Required)
Description#
DELETE /admin/subscriptions/:id/notes/:noteId Delete a specific note from a subscription
URL Parameters#
| Parameter | Type | Required | Description |
|---|---|---|---|
id |
string | Yes | Id identifier |
noteId |
string | Yes | NoteId identifier |
Response#
Success:
{
success,
notes,
}Error (404):
{
error,
message,
}Error (500):
{
error,
message,
}Example Request#
curl -X DELETE 'https://your-store.omnicart.cc/admin/subscriptions/:id/notes/:noteId' \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: application/json'PUT Admin Subscriptions :id Notes :noteId#
Endpoint: PUT /admin/subscriptions/:id/notes/:noteId
Authentication: Admin (Required)
Description#
PUT /admin/subscriptions/:id/notes/:noteId Update a specific note (content and tag; author and created_at are preserved) Body: { content: string, tag?: "Called" | "Email" | "Issue" | "Shipping" | "Refund" | null }
URL Parameters#
| Parameter | Type | Required | Description |
|---|---|---|---|
id |
string | Yes | Id identifier |
noteId |
string | Yes | NoteId identifier |
Request Body#
This route does not declare a validation schema, so the accepted fields are not derivable from the source. Check the handler before relying on a particular body.
Response#
Success:
{
note,
notes,
}Error (404):
{
error,
message,
}Error (500):
{
error,
message,
}Example Request#
curl -X PUT 'https://your-store.omnicart.cc/admin/subscriptions/:id/notes/:noteId' \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: application/json'POST Admin Subscriptions :id Pause#
Endpoint: POST /admin/subscriptions/:id/pause
Authentication: Admin (Required)
URL Parameters#
| Parameter | Type | Required | Description |
|---|---|---|---|
id |
string | Yes | Id identifier |
Request Body#
This route does not declare a validation schema, so the accepted fields are not derivable from the source. Check the handler before relying on a particular body.
Response#
The handler does not return an object literal, so the response shape is not derivable from the source.
Example Request#
curl -X POST 'https://your-store.omnicart.cc/admin/subscriptions/:id/pause' \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: application/json'GET Admin Subscriptions :id Payment-method#
Endpoint: GET /admin/subscriptions/:id/payment-method
Authentication: Admin (Required)
Description#
GET /admin/subscriptions/:id/payment-method The card a subscription renews on: { provider_id, payment_method: { id, type, brand, last4, exp_month, exp_year } | null }. Lists the Stripe customer's saved methods through the payment module and picks the one payment_context.payment_method_reference names. The raw payment_context is never returned.
URL Parameters#
| Parameter | Type | Required | Description |
|---|---|---|---|
id |
string | Yes | Id identifier |
Response#
Success (200):
{
provider_id,
payment_method,
}Also returns:
{
type,
message,
}Example Request#
curl -X GET 'https://your-store.omnicart.cc/admin/subscriptions/:id/payment-method' \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: application/json'POST Admin Subscriptions :id Payment-method#
Endpoint: POST /admin/subscriptions/:id/payment-method
Authentication: Admin (Required)
Description#
POST /admin/subscriptions/:id/payment-method Body { setup_intent_id, retry_dunning? = true }. Verifies the SetupIntent at Stripe (succeeded, on this customer, minted for this subscription), writes the new method into payment_context, logs subscription.payment_method_updated, and on a PAST_DUE subscription runs the dunning retry POST /admin/dunning/:id/retry-now runs. Response: the subscription detail plus payment_method_summary and dunning_retry (ran | skipped_no_case | skipped_retrying | skipped_max_attempts | disabled | failed), with dunning_case_id and dunning_retry_error when a case was involved. The card is saved before the detail is read back. A detail read that fails still answers 200, with subscription: null and detail_error set — a 500 there would tell the operator to retry an action that already charged.
URL Parameters#
| Parameter | Type | Required | Description |
|---|---|---|---|
id |
string | Yes | Id identifier |
Request Body#
This route does not declare a validation schema, so the accepted fields are not derivable from the source. Check the handler before relying on a particular body.
Response#
Success:
{
type,
message,
}Also returns (200):
{
...(detail ?? { subscription: null })
detail_error,
payment_method_summary,
dunning_retry,
dunning_case_id,
dunning_retry_error,
}Example Request#
curl -X POST 'https://your-store.omnicart.cc/admin/subscriptions/:id/payment-method' \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: application/json'POST Admin Subscriptions :id Payment-method Setup#
Endpoint: POST /admin/subscriptions/:id/payment-method/setup
Authentication: Admin (Required)
Description#
POST /admin/subscriptions/:id/payment-method/setup Start a card replacement: create a Stripe SetupIntent on the subscription's Stripe customer and return what the admin form needs to confirm it. The SetupIntent is created through the subscription's own payment provider (live or sandbox), so its secret key and the publishable key returned here belong to the same Stripe account. metadata.subscription_id is stamped here and checked again when the intent comes back. Response: { setup_intent_id, client_secret, publishable_key, provider_id, account_holder_id, sandbox }.
URL Parameters#
| Parameter | Type | Required | Description |
|---|---|---|---|
id |
string | Yes | Id identifier |
Request Body#
This route does not declare a validation schema, so the accepted fields are not derivable from the source. Check the handler before relying on a particular body.
Response#
Success (200):
{
setup_intent_id,
client_secret,
publishable_key,
provider_id,
account_holder_id,
sandbox,
}Also returns:
{
type,
message,
}Example Request#
curl -X POST 'https://your-store.omnicart.cc/admin/subscriptions/:id/payment-method/setup' \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: application/json'POST Admin Subscriptions :id Resume#
Endpoint: POST /admin/subscriptions/:id/resume
Authentication: Admin (Required)
URL Parameters#
| Parameter | Type | Required | Description |
|---|---|---|---|
id |
string | Yes | Id identifier |
Request Body#
This route does not declare a validation schema, so the accepted fields are not derivable from the source. Check the handler before relying on a particular body.
Response#
The handler does not return an object literal, so the response shape is not derivable from the source.
Example Request#
curl -X POST 'https://your-store.omnicart.cc/admin/subscriptions/:id/resume' \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: application/json'POST Admin Subscriptions :id Schedule-plan-change#
Endpoint: POST /admin/subscriptions/:id/schedule-plan-change
Authentication: Admin (Required)
URL Parameters#
| Parameter | Type | Required | Description |
|---|---|---|---|
id |
string | Yes | Id identifier |
Request Body#
This route does not declare a validation schema, so the accepted fields are not derivable from the source. Check the handler before relying on a particular body.
Response#
The handler does not return an object literal, so the response shape is not derivable from the source.
Example Request#
curl -X POST 'https://your-store.omnicart.cc/admin/subscriptions/:id/schedule-plan-change' \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: application/json'POST Admin Subscriptions :id Update-discount#
Endpoint: POST /admin/subscriptions/:id/update-discount
Authentication: Admin (Required)
URL Parameters#
| Parameter | Type | Required | Description |
|---|---|---|---|
id |
string | Yes | Id identifier |
Request Body#
This route does not declare a validation schema, so the accepted fields are not derivable from the source. Check the handler before relying on a particular body.
Response#
The handler does not return an object literal, so the response shape is not derivable from the source.
Example Request#
curl -X POST 'https://your-store.omnicart.cc/admin/subscriptions/:id/update-discount' \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: application/json'POST Admin Subscriptions :id Update-next-cycle-discount#
Endpoint: POST /admin/subscriptions/:id/update-next-cycle-discount
Authentication: Admin (Required)
URL Parameters#
| Parameter | Type | Required | Description |
|---|---|---|---|
id |
string | Yes | Id identifier |
Request Body#
This route does not declare a validation schema, so the accepted fields are not derivable from the source. Check the handler before relying on a particular body.
Response#
The handler does not return an object literal, so the response shape is not derivable from the source.
Example Request#
curl -X POST 'https://your-store.omnicart.cc/admin/subscriptions/:id/update-next-cycle-discount' \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: application/json'POST Admin Subscriptions :id Update-quantity#
Endpoint: POST /admin/subscriptions/:id/update-quantity
Authentication: Admin (Required)
URL Parameters#
| Parameter | Type | Required | Description |
|---|---|---|---|
id |
string | Yes | Id identifier |
Request Body#
This route does not declare a validation schema, so the accepted fields are not derivable from the source. Check the handler before relying on a particular body.
Response#
The handler does not return an object literal, so the response shape is not derivable from the source.
Example Request#
curl -X POST 'https://your-store.omnicart.cc/admin/subscriptions/:id/update-quantity' \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: application/json'POST Admin Subscriptions :id Update-renewal#
Endpoint: POST /admin/subscriptions/:id/update-renewal
Authentication: Admin (Required)
URL Parameters#
| Parameter | Type | Required | Description |
|---|---|---|---|
id |
string | Yes | Id identifier |
Request Body#
This route does not declare a validation schema, so the accepted fields are not derivable from the source. Check the handler before relying on a particular body.
Response#
The handler does not return an object literal, so the response shape is not derivable from the source.
Example Request#
curl -X POST 'https://your-store.omnicart.cc/admin/subscriptions/:id/update-renewal' \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: application/json'POST Admin Subscriptions :id Update-shipping-address#
Endpoint: POST /admin/subscriptions/:id/update-shipping-address
Authentication: Admin (Required)
URL Parameters#
| Parameter | Type | Required | Description |
|---|---|---|---|
id |
string | Yes | Id identifier |
Request Body#
This route does not declare a validation schema, so the accepted fields are not derivable from the source. Check the handler before relying on a particular body.
Response#
The handler does not return an object literal, so the response shape is not derivable from the source.
Example Request#
curl -X POST 'https://your-store.omnicart.cc/admin/subscriptions/:id/update-shipping-address' \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: application/json'GET Admin Ultracart#
Endpoint: GET /admin/ultracart
Authentication: Admin (Required)
Description#
GET /admin/ultracart Get UltraCart module status and statistics
Response#
Success:
{
status,
health,
statistics,
scheduledSync,
}Error (500):
{
error,
message,
}Example Request#
curl -X GET 'https://your-store.omnicart.cc/admin/ultracart' \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: application/json'POST Admin Ultracart#
Endpoint: POST /admin/ultracart
Authentication: Admin (Required)
Description#
POST /admin/ultracart Manually sync an order to UltraCart (respects modification window) Body: { orderId: string }
Request Body#
This route does not declare a validation schema, so the accepted fields are not derivable from the source. Check the handler before relying on a particular body.
Response#
Success:
{
success,
message,
ultracartOrderId,
attempts,
}Also returns:
{
success,
error,
message,
errorCode,
}Error (400):
{
error,
...formattedErrors
}Example Request#
curl -X POST 'https://your-store.omnicart.cc/admin/ultracart' \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: application/json'POST Admin Ultracart Force-sync#
Endpoint: POST /admin/ultracart/force-sync
Authentication: Admin (Required)
Request Body#
This route does not declare a validation schema, so the accepted fields are not derivable from the source. Check the handler before relying on a particular body.
Response#
Success:
{
success,
message,
ultracartOrderId,
attempts,
}Error (400):
{
error,
...formattedErrors
}Error (400):
{
success,
message,
error,
errorCode,
attempts,
}Error (500):
{
error,
message,
}Example Request#
curl -X POST 'https://your-store.omnicart.cc/admin/ultracart/force-sync' \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: application/json'GET Admin Ultracart Modification-window#
Endpoint: GET /admin/ultracart/modification-window
Authentication: Admin (Required)
Response#
Success:
{
orderId,
canModify,
syncStatus,
scheduledSyncAt,
modificationWindowExpiresAt,
isLocked,
modificationCount,
lastModifiedAt,
}Error (400):
{
error,
...formattedErrors
}Error (500):
{
error,
message,
}Example Request#
curl -X GET 'https://your-store.omnicart.cc/admin/ultracart/modification-window' \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: application/json'POST Admin Ultracart Modification-window#
Endpoint: POST /admin/ultracart/modification-window
Authentication: Admin (Required)
Description#
POST /admin/ultracart/modification-window Reset modification window for an order (extends sync delay) Body: { orderId: string }
Request Body#
This route does not declare a validation schema, so the accepted fields are not derivable from the source. Check the handler before relying on a particular body.
Response#
Success:
{
success,
message,
...result
}Error (400):
{
error,
...formattedErrors
}Error (400):
{
error,
message,
}Error (500):
{
error,
message,
}Example Request#
curl -X POST 'https://your-store.omnicart.cc/admin/ultracart/modification-window' \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: application/json'GET Admin Ultracart Scheduled#
Endpoint: GET /admin/ultracart/scheduled
Authentication: Admin (Required)
Response#
Success:
{
orders,
stats,
}Error (500):
{
error,
message,
}Example Request#
curl -X GET 'https://your-store.omnicart.cc/admin/ultracart/scheduled' \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: application/json'POST Admin Ultracart Scheduled#
Endpoint: POST /admin/ultracart/scheduled
Authentication: Admin (Required)
Description#
POST /admin/ultracart/scheduled Manually trigger processing of scheduled syncs
Request Body#
This route does not declare a validation schema, so the accepted fields are not derivable from the source. Check the handler before relying on a particular body.
Response#
Success:
{
success,
message,
...result
}Error (500):
{
error,
message,
}Example Request#
curl -X POST 'https://your-store.omnicart.cc/admin/ultracart/scheduled' \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: application/json'GET Admin Ultracart Stats#
Endpoint: GET /admin/ultracart/stats
Authentication: Admin (Required)
Response#
Success:
{
health,
sync,
scheduled,
delayedSyncConfig,
}Error (500):
{
error,
message,
}Example Request#
curl -X GET 'https://your-store.omnicart.cc/admin/ultracart/stats' \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: application/json'GET Admin Vibe#
Endpoint: GET /admin/vibe
Authentication: Admin (Required)
Description#
GET /admin/vibe/* Serve Vibe SDK static files from vibe-static/ directory Note: This route handles both /admin/vibe and /admin/vibe/* paths by extracting the path from the request URL.
Response#
The handler does not return an object literal, so the response shape is not derivable from the source.
Example Request#
curl -X GET 'https://your-store.omnicart.cc/admin/vibe' \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: application/json'GET Admin Vibesdk Config :siteId#
Endpoint: GET /admin/vibesdk/config/:siteId
Authentication: Admin (Required)
Description#
GET /admin/vibesdk/config/:siteId Get VibeSDK configuration for a specific site Returns configuration needed to initialize the embedded VibeSDK
URL Parameters#
| Parameter | Type | Required | Description |
|---|---|---|---|
siteId |
string | Yes | SiteId identifier |
Response#
Error (400):
{
error,
}Error (404):
{
error,
}Error (500):
{
error,
}Example Request#
curl -X GET 'https://your-store.omnicart.cc/admin/vibesdk/config/:siteId' \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: application/json'POST Admin Vibesdk Proxy#
Endpoint: POST /admin/vibesdk/proxy
Authentication: Admin (Required)
Description#
POST /admin/vibesdk/proxy Proxy requests to VibeSDK with our GitHub credentials This allows the embedded VibeSDK to access our GitHub repos through our backend authentication
Request Body#
This route does not declare a validation schema, so the accepted fields are not derivable from the source. Check the handler before relying on a particular body.
Response#
Error (400):
{
error,
}Error (404):
{
error,
}Error (400):
{
error,
}Error (401):
{
error,
}Error (400):
{
error,
}Error (500):
{
error,
}Example Request#
curl -X POST 'https://your-store.omnicart.cc/admin/vibesdk/proxy' \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: application/json'GET Admin Vibesdk Sso-token#
Endpoint: GET /admin/vibesdk/sso-token
Authentication: Admin (Required)
Description#
GET /admin/vibesdk/sso-token?siteId=... Returns a short-lived JWT for embedded VibeSDK sessions.
Response#
Success:
{
token,
}Error (400):
{
error,
}Error (500):
{
error,
}Error (404):
{
error,
}Error (500):
{
error,
}Example Request#
curl -X GET 'https://your-store.omnicart.cc/admin/vibesdk/sso-token' \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: application/json'POST Admin Vibesdk Validate-sso#
Endpoint: POST /admin/vibesdk/validate-sso
Authentication: Admin (Required)
Description#
POST /admin/vibesdk/validate-sso Validates SSO tokens from embedded VibeSDK sessions. Called by VibeSDK worker to verify authentication tokens. Expected header: Authorization: Bearer {ssoToken} Returns user data for VibeSDK session creation.
Request Body#
This route does not declare a validation schema, so the accepted fields are not derivable from the source. Check the handler before relying on a particular body.
Response#
Success:
{
user,
validated_at,
token_expires_at,
}Error (401):
{
error,
}Error (500):
{
error,
}Error (401):
{
error,
details,
}Error (401):
{
error,
}Error (500):
{
error,
message,
}Example Request#
curl -X POST 'https://your-store.omnicart.cc/admin/vibesdk/validate-sso' \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: application/json'GET Admin Webhook-logs#
Endpoint: GET /admin/webhook-logs
Authentication: Admin (Required)
Description#
GET /admin/webhook-logs List all webhook logs with filtering and pagination Query params: - provider: Filter by provider (stripe, paypal, nmi, etc.) - event_type: Filter by event type - status: Filter by status (received, processing, success, failed, skipped) - order_id: Filter by order ID - payment_id: Filter by payment ID - from_date: Filter from date (ISO string) - to_date: Filter to date (ISO string) - limit: Number of results (default 50) - offset: Pagination offset (default 0)
Response#
Success:
{
webhook_logs,
count,
limit,
offset,
}Example Request#
curl -X GET 'https://your-store.omnicart.cc/admin/webhook-logs' \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: application/json'GET Admin Webhook-logs :id#
Endpoint: GET /admin/webhook-logs/:id
Authentication: Admin (Required)
Description#
GET /admin/webhook-logs/:id Get a single webhook log by ID with full details
URL Parameters#
| Parameter | Type | Required | Description |
|---|---|---|---|
id |
string | Yes | Id identifier |
Response#
Success:
{
webhook_log,
}Error (404):
{
message,
error,
}Example Request#
curl -X GET 'https://your-store.omnicart.cc/admin/webhook-logs/:id' \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: application/json'DELETE Admin Webhook-logs :id#
Endpoint: DELETE /admin/webhook-logs/:id
Authentication: Admin (Required)
Description#
DELETE /admin/webhook-logs/:id Delete a webhook log (for cleanup purposes)
URL Parameters#
| Parameter | Type | Required | Description |
|---|---|---|---|
id |
string | Yes | Id identifier |
Response#
Success (200):
{
id,
deleted,
}Error (404):
{
message,
error,
}Example Request#
curl -X DELETE 'https://your-store.omnicart.cc/admin/webhook-logs/:id' \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: application/json'POST Admin Webhook-logs Cleanup#
Endpoint: POST /admin/webhook-logs/cleanup
Authentication: Admin (Required)
Description#
POST /admin/webhook-logs/cleanup Cleanup old webhook logs Body: - days_to_keep: Number of days to keep logs (default 30)
Request Body#
This route does not declare a validation schema, so the accepted fields are not derivable from the source. Check the handler before relying on a particular body.
Response#
Success:
{
success,
deleted_count,
days_kept,
}Error (500):
{
success,
error,
}Example Request#
curl -X POST 'https://your-store.omnicart.cc/admin/webhook-logs/cleanup' \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: application/json'GET Admin Webhook-logs Providers#
Endpoint: GET /admin/webhook-logs/providers
Authentication: Admin (Required)
Description#
GET /admin/webhook-logs/providers Get list of unique providers that have sent webhooks
Response#
Success:
{
providers,
}Example Request#
curl -X GET 'https://your-store.omnicart.cc/admin/webhook-logs/providers' \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: application/json'GET Admin Webhook-logs Stats#
Endpoint: GET /admin/webhook-logs/stats
Authentication: Admin (Required)
Description#
GET /admin/webhook-logs/stats Get webhook statistics and analytics Query params: - provider: Filter by provider - from_date: Filter from date (ISO string) - to_date: Filter to date (ISO string)
Response#
Success:
{
stats,
}Example Request#
curl -X GET 'https://your-store.omnicart.cc/admin/webhook-logs/stats' \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: application/json'