Skip to content
Menu
All API groups

Tenants

Stores, settings, flags, onboarding.

6 endpoints.

GET/v1/tenants

Stores I belong to

Needs a key or a dashboard session

Responses

POST/v1/tenants

Tenants Create

Needs a key or a dashboard session

Parameters

NameInTypeRequiredDescription
Idempotency-Keyheaderstring | nullnoUnique per logical write (8-255 chars). Retries with the same key are safe. · pattern ^[A-Za-z0-9_\-:.]{8,255}$

Request body application/json TenantCreate

NameTypeRequiredDescription
namestringyesmax length 200
slugstring | nullnopattern ^[a-z0-9][a-z0-9-]{2,62}$
default_localestringnodefault "en" · pattern ^[a-z]{2}$
localesstring[]noCatalog languages.
currencystringnodefault "USD" · pattern ^[A-Z]{3}$
vertical"electronics" | "fashion" | "grocery" | "general"nodefault "electronics"

Responses

GET/v1/settings

Store settings

Needs a key or a dashboard session

Responses

PATCH/v1/settings

Settings Update

Needs a key or a dashboard session

Request body application/json TenantSettings

NameTypeRequiredDescription
namestring | nullnomax length 200
default_localestring | nullnopattern ^[a-z]{2}$
localesstring[] | nullno
currencystring | nullnopattern ^[A-Z]{3}$
timezonestring | nullnomax length 64
log_retention_daysinteger | nullnomin 7 · max 730
searchSearchSettings | nullno
translationTranslationSettings | nullno
weekly_reportboolean | nullno
extraobject | nullno

Responses

GET/v1/flags

Feature flags for this store

Needs a key or a dashboard session

Responses

GET/v1/onboarding

Onboarding checklist progress

Needs a key or a dashboard session

Responses

Data shapes on this page

TenantOut

NameTypeRequiredDescription
idstringyes
slugstringyes
namestringyes
status"trialing" | "active" | "past_due" | "suspended" | "canceled" | "deleted"yes
plan_codestringyes
default_localestringyes
localesstring[]yes
currencystringyes
trial_ends_atstring (date-time) | nullno
created_atstring (date-time)yes

TenantCreate

NameTypeRequiredDescription
namestringyesmax length 200
slugstring | nullnopattern ^[a-z0-9][a-z0-9-]{2,62}$
default_localestringnodefault "en" · pattern ^[a-z]{2}$
localesstring[]noCatalog languages.
currencystringnodefault "USD" · pattern ^[A-Z]{3}$
vertical"electronics" | "fashion" | "grocery" | "general"nodefault "electronics"

TenantSettings

NameTypeRequiredDescription
namestring | nullnomax length 200
default_localestring | nullnopattern ^[a-z]{2}$
localesstring[] | nullno
currencystring | nullnopattern ^[A-Z]{3}$
timezonestring | nullnomax length 64
log_retention_daysinteger | nullnomin 7 · max 730
searchSearchSettings | nullno
translationTranslationSettings | nullno
weekly_reportboolean | nullno
extraobject | nullno

SearchSettings

The tenant's saved ranking setup. RankingConfig (contract/merch.py) has the same field names, all optional, and overrides these per request (playground) or per A/B variant.

NameTypeRequiredDescription
ai_rewritebooleannodefault true
ai_timeout_msintegernodefault 2000 · min 200 · max 5000
rule_parserbooleannodefault true
in_stock_firstbooleannodefault true
business_signalsmap<string, number>noOpt-in weights 0..1, e.g. {popularity: 0.2, margin: 0.1, clicks: 0.2}.
typo_tolerancebooleannodefault true
hybrid_searchbooleannodefault false
cheap_rerank_top_nintegernodefault 50 · min 10 · max 200
merch_rulesbooleannodefault true
disabled_rule_idsstring[]no
synonym_setsstring[]no
global_synonymsbooleannoUse the platform's global synonyms for my vertical.default true
disabled_global_synonym_idsstring[]noGlobal synonyms I switched off.

TranslationSettings

Per-tenant translation setup (part of TenantSettings; PATCH /v1/settings). The feature flag `translation_watch` makes watch mode AVAILABLE; `watch` here turns it ON for this store. Same for `translation_sonnet_review` and `sonnet_review_top_n`.

NameTypeRequiredDescription
watchbooleannoTranslate new and changed products automatically.default false
target_localesstring[]no
fields"name" | "description" | "category" | "attribute_name" | "attribute_value"[]no
sonnet_review_top_nintegernoSecond pass with Sonnet 5.5 for the top N products (plan limits apply).default 0 · min 0 · max 5000
index_machine_translationsbooleannoSearch uses AI translations that passed the automatic checks before review.default true

FlagOut

NameTypeRequiredDescription
keystringyes
enabledbooleanyes
source"default" | "rollout" | "override" | "plan"yes

OnboardingOut

NameTypeRequiredDescription
stepsOnboardingStep[]yes
started_atstring (date-time)yes
minutes_elapsednumberyes

OnboardingStep

NameTypeRequiredDescription
key"platform" | "connector" | "first_index" | "first_search" | "keys" | "team"yes
donebooleanyes
done_atstring (date-time) | nullno