SaltAISaltAI
API Reference

SaltAI Platform API

Every engine, grouped by namespace. Base URL https://api.saltai.app/v1. Authenticate with a Bearer API key.

New here? Start with the developer guide.

Authentication

Send your API key as a Bearer token on every request. Set it once in your shell, then reuse it across every example below.

export SALTAI_KEY="sak_live_xxx"

Allergens

/v1/allergens

Allergen + dietary metafields, regulatory modes and nutrition facts (AllergenOS).

Example
curl https://api.saltai.app/v1/allergens/products \
  -H "Authorization: Bearer $SALTAI_KEY"
GET/v1/allergens/configurationGet allergen + dietary configuration
GET/v1/allergens/productsList products with allergen status
GET/v1/allergens/products/{id}Get a single product with allergen metafields
PATCH/v1/allergens/products/{id}Update allergen + dietary metafields on a product
GET/v1/allergens/marketsList Shopify Markets ↔ regulatory mode mappings
GET/v1/allergens/collectionsList collections (matrix collection picker)
GET/v1/allergens/auditRead audit log (tier-gated retention)
GET/v1/allergens/legislationRead current rule-set state
POST/v1/allergens/matrix/export-pdfExport allergen matrix as PDF (kitchen or customer format)
GET/v1/allergens/nutritionList nutrition facts rows for the org
PUT/v1/allergens/nutritionUpsert nutrition facts for a product
POST/v1/allergens/nutrition/bulk-importBulk-import nutrition facts via CSV

Subscriptions

/v1/subscriptions

Recurring subscription contracts and their charges.

Example
curl https://api.saltai.app/v1/subscriptions/contracts \
  -H "Authorization: Bearer $SALTAI_KEY"
GET/v1/subscriptions/contractsList subscription contracts
POST/v1/subscriptions/contractsCreate a subscription contract
GET/v1/subscriptions/contracts/{id}Get a subscription contract
PATCH/v1/subscriptions/contracts/{id}Update a subscription contract
DELETE/v1/subscriptions/contracts/{id}Cancel a subscription contract
POST/v1/subscriptions/contracts/{id}/pausePause a subscription contract
POST/v1/subscriptions/contracts/{id}/resumeResume a paused contract
POST/v1/subscriptions/contracts/{id}/skipSkip the next billing cycle
POST/v1/subscriptions/contracts/{id}/swapSwap the product on a contract
GET/v1/subscriptions/chargesList charges
GET/v1/subscriptions/charges/{id}Get a charge

Delivery

/v1/delivery

Outcodes, fee tiers, slot windows, blocked dates and delivery validation (DeliveryOS).

Example
curl -X POST https://api.saltai.app/v1/delivery/validate \
  -H "Authorization: Bearer $SALTAI_KEY" \
  -H "Content-Type: application/json" \
  -d '{"postcode":"SW1A 1AA","basketTotal":2500}'
GET/v1/delivery/configurationGet delivery configuration
GET/v1/delivery/organisationGet org-level delivery settings
GET/v1/delivery/outcodesList delivery outcodes (postcode areas)
POST/v1/delivery/outcodesCreate an outcode
GET/v1/delivery/outcodes/{id}Get a single outcode
PATCH/v1/delivery/outcodes/{id}Update an outcode
DELETE/v1/delivery/outcodes/{id}Delete an outcode
POST/v1/delivery/outcodes/bulkBulk-import outcodes
GET/v1/delivery/fee-tiersList basket-value fee tiers
POST/v1/delivery/fee-tiersCreate a fee tier
GET/v1/delivery/fee-tiers/{id}Get a fee tier
PATCH/v1/delivery/fee-tiers/{id}Update a fee tier
DELETE/v1/delivery/fee-tiers/{id}Delete a fee tier
GET/v1/delivery/slot-windowsList slot windows (date + time)
POST/v1/delivery/slot-windowsCreate a slot window
GET/v1/delivery/slot-windows/{id}Get a slot window
PATCH/v1/delivery/slot-windows/{id}Update a slot window
DELETE/v1/delivery/slot-windows/{id}Delete a slot window
GET/v1/delivery/blocked-datesList blocked dates
POST/v1/delivery/blocked-datesBlock a date
PATCH/v1/delivery/blocked-dates/{id}Update a blocked date
DELETE/v1/delivery/blocked-dates/{id}Remove a blocked date
POST/v1/delivery/validateValidate postcode + cart (returns canDeliver, fee, slots)
GET/v1/delivery/geocodeGeocode an address to lat/lon

Catering

/v1/catering

Quotes, corporate accounts, recurring orders and calendar-driven headcount (CateringOS).

Example
curl https://api.saltai.app/v1/catering/quotes \
  -H "Authorization: Bearer $SALTAI_KEY"
GET/v1/catering/configurationGet catering configuration
GET/v1/catering/quotesList quote requests
GET/v1/catering/quotes/{id}Get a single quote
PATCH/v1/catering/quotes/{id}Update a quote (status, notes)
GET/v1/catering/applicationsList corporate account applications
GET/v1/catering/applications/{id}Get a single application
PATCH/v1/catering/applications/{id}Update an application (status, notes)
GET/v1/catering/recurring-ordersList recurring orders (weekly meal plans)
GET/v1/catering/setup/tray-sizesList tray sizes (admin setup)
POST/v1/catering/setup/tray-sizesCreate a tray size
GET/v1/catering/setup/budget-bandsList budget bands
POST/v1/catering/setup/budget-bandsCreate a budget band
GET/v1/catering/analyticsCatering analytics aggregates
POST/v1/catering/calendar/magic-linkIssue a magic link for a B2B customer to connect their calendar
GET/v1/catering/calendar/connectionsList calendar connections
DELETE/v1/catering/calendar/connectionsRevoke a calendar connection by id
GET/v1/catering/calendar/headcountFetch on-demand headcount for a (customerKey, date)
GET/v1/catering/calendar/recurring-schedulesList recurring catering schedules
POST/v1/catering/calendar/recurring-schedulesCreate a recurring catering schedule
PATCH/v1/catering/calendar/recurring-schedules/{id}Update a recurring schedule
DELETE/v1/catering/calendar/recurring-schedules/{id}Cancel a recurring schedule
POST/v1/catering/calendar/recurring-schedules/{id}/pausePause/resume a recurring schedule

Content

/v1/content

Blog drafts, tracked articles, SEO scoring and AI usage (ContentOS).

Example
curl https://api.saltai.app/v1/content/drafts \
  -H "Authorization: Bearer $SALTAI_KEY"
GET/v1/content/configurationGet content configuration
GET/v1/content/draftsList blog drafts
POST/v1/content/draftsCreate / kick off a new draft
GET/v1/content/drafts/{id}Get a draft
PATCH/v1/content/drafts/{id}Update a draft (status, content)
DELETE/v1/content/drafts/{id}Delete a draft
GET/v1/content/articlesList published Shopify articles tracked by ContentOS
GET/v1/content/articles/{shopifyArticleId}Get a single tracked article
GET/v1/content/seoRead SEO scoring summary
GET/v1/content/seo/linksRead internal-linking suggestions
GET/v1/content/auditRead content audit log
GET/v1/content/ai-usageRead AI token usage (per-org)

Cart

/v1/cart

Bundles, BOGO offers, upsells and abandoned-cart recovery (CartOS).

Example
curl https://api.saltai.app/v1/cart/bundles \
  -H "Authorization: Bearer $SALTAI_KEY"
GET/v1/cart/configurationGet cart configuration
GET/v1/cart/configuration/free-shippingRead free-shipping threshold + currency
PATCH/v1/cart/configuration/free-shippingUpdate free-shipping threshold
GET/v1/cart/dashboardCart dashboard aggregates
GET/v1/cart/bundlesList bundles
POST/v1/cart/bundlesCreate a bundle
GET/v1/cart/bundles/{id}Get a bundle
PATCH/v1/cart/bundles/{id}Update a bundle
DELETE/v1/cart/bundles/{id}Delete a bundle
GET/v1/cart/bogo-offersList BOGO offers
POST/v1/cart/bogo-offersCreate a BOGO offer
GET/v1/cart/bogo-offers/{id}Get a BOGO offer
PATCH/v1/cart/bogo-offers/{id}Update a BOGO offer
DELETE/v1/cart/bogo-offers/{id}Delete a BOGO offer
GET/v1/cart/bogo-offers/{id}/redemptionsList BOGO redemptions
GET/v1/cart/upsellsList upsell sets
POST/v1/cart/upsellsCreate an upsell set
GET/v1/cart/upsells/{id}Get an upsell set
PATCH/v1/cart/upsells/{id}Update an upsell set
DELETE/v1/cart/upsells/{id}Delete an upsell set
GET/v1/cart/abandoned-cartsList abandoned cart records
GET/v1/cart/save-for-laterList save-for-later records
GET/v1/cart/analytics/recoveryRecovery analytics aggregates
GET/v1/cart/analytics/save-for-laterSave-for-later analytics aggregates

Reviews

/v1/reviews

Product reviews, Q&A and aggregate ratings (ReviewPulse).

Example
curl https://api.saltai.app/v1/reviews \
  -H "Authorization: Bearer $SALTAI_KEY"
GET/v1/reviewsList reviews
POST/v1/reviewsCreate a review
GET/v1/reviews/{id}Get a review
PATCH/v1/reviews/{id}Update a review
DELETE/v1/reviews/{id}Delete a review
POST/v1/reviews/importBulk-import reviews
GET/v1/reviews/aggregateGet aggregate review metrics
GET/v1/reviews/qaList Q&A entries
POST/v1/reviews/qaCreate a Q&A entry

Forms

/v1/forms

Forms, submissions and quote requests (FormFlow).

Example
curl https://api.saltai.app/v1/forms \
  -H "Authorization: Bearer $SALTAI_KEY"
GET/v1/formsList forms
POST/v1/formsCreate a form
GET/v1/forms/{id}Get a form
PATCH/v1/forms/{id}Update a form
DELETE/v1/forms/{id}Delete a form
GET/v1/forms/{id}/submissionsList submissions for a form
POST/v1/forms/{id}/submissionsCreate a submission
GET/v1/forms/{id}/submissions/{subId}Get a submission
PATCH/v1/forms/{id}/submissions/{subId}Update a submission
GET/v1/forms/quotesList quote requests
POST/v1/forms/quotes/{id}/convertConvert a quote to an order

AnswerOS (AEO)

/v1/answeros

Answer Engine Optimization — schemas, AEO scores, Q&A, rewrites and citation tracking.

Example
curl https://api.saltai.app/v1/answeros/scores \
  -H "Authorization: Bearer $SALTAI_KEY"
GET/v1/answeros/configurationGet AnswerOS configuration
PATCH/v1/answeros/configurationUpdate AnswerOS configuration
GET/v1/answeros/schemasList schema-emitting pages
GET/v1/answeros/schemas/{pageType}/{pageRef}Get generated schema for a page
POST/v1/answeros/schemas/{pageType}/{pageRef}Create schema override for a page
PATCH/v1/answeros/schemas/{pageType}/{pageRef}Update schema override
DELETE/v1/answeros/schemas/{pageType}/{pageRef}Remove schema override
GET/v1/answeros/scoresList pages with AEO scores
POST/v1/answeros/scoresTrigger a scoring run
GET/v1/answeros/scores/{pageType}/{pageRef}Per-page score breakdown
GET/v1/answeros/qaList Q&A entries
POST/v1/answeros/qaCreate Q&A entry
GET/v1/answeros/qa/{id}Get Q&A entry
PATCH/v1/answeros/qa/{id}Update Q&A entry
DELETE/v1/answeros/qa/{id}Delete Q&A entry
POST/v1/answeros/qa/importImport Q&A from ReviewPulse / FormFlow / content
GET/v1/answeros/rewritesList rewrite suggestions
POST/v1/answeros/rewritesGenerate rewrite suggestions for a page
PATCH/v1/answeros/rewrites/{id}Approve / reject / apply rewrite
GET/v1/answeros/entitiesList entity coverage
GET/v1/answeros/citationsList tracked queries + latest citations
POST/v1/answeros/citationsAdd a tracked query
GET/v1/answeros/citations/{id}Citation history for a tracked query
PATCH/v1/answeros/citations/{id}Update a tracked query
DELETE/v1/answeros/citations/{id}Remove a tracked query

Tiers

/v1/tiers

Behavioural loyalty tiers, per-customer aggregates and recalculation (AutoTier / TierOS).

Example
curl https://api.saltai.app/v1/tiers/customers \
  -H "Authorization: Bearer $SALTAI_KEY"
GET/v1/tiers/configurationGet tier configuration (currency, locale, rules, perks)
PATCH/v1/tiers/configurationUpdate tier configuration (rules, thresholds, perks)
GET/v1/tiersList active tier rules
GET/v1/tiers/customersList customers with tier + spend aggregates
GET/v1/tiers/customers/{customerId}Get a single customer's tier + aggregates
POST/v1/tiers/customers/{customerId}Manually override a customer's tier (audit-logged)
GET/v1/tiers/customers/{customerId}/historyRead tier change history for a customer
POST/v1/tiers/recalculateTrigger recalculation for all customers (rate-limited)
POST/v1/tiers/customers/{customerId}/recalculateRecalculate a single customer's tier
GET/v1/tiers/analytics/distributionTier distribution (customer count per tier)
GET/v1/tiers/auditRead tier audit log

More namespaces

The gateway also exposes these namespaces under the same base URL and auth model. The complete, always-current list of endpoints is generated from the gateway route registry.

/v1/pushflowBulk import/export jobs for Shopify (PushFlow).
/v1/bundlesBundle templates admin (API-key).
/v1/loyalty-hooksOutbound loyalty webhooks and delivery attempts.
/v1/portalCustomer-facing subscription portal (customer-JWT auth, not API key).
/v1/plansThe merchant's Shopify Selling Plan groups.
/v1/contractsShopify Subscription Contract creation.
/v1/bundleCross-platform dashboard + unified order timeline.

Get a key and start building

Free tier available. 14-day trial on every paid plan.