انتقل إلى المحتوى
القائمة
كل مجموعات الواجهة

Tenants

Stores, settings, flags, onboarding.

6 نقاط وصول. أسماء نقاط الوصول وأوصافها مأخوذة من ملف OpenAPI، لذلك تظهر بالإنجليزية.

GET/v1/tenants

Stores I belong to

يحتاج إلى مفتاح أو جلسة في لوحة التحكم

الردود

POST/v1/tenants

Tenants Create

يحتاج إلى مفتاح أو جلسة في لوحة التحكم

المعاملات

الاسمالموضعالنوعإلزاميالوصف
Idempotency-Keyheaderstring | nullلاUnique per logical write (8-255 chars). Retries with the same key are safe. · pattern ^[A-Za-z0-9_\-:.]{8,255}$

جسم الطلب application/json TenantCreate

الاسمالنوعإلزاميالوصف
namestringنعمmax length 200
slugstring | nullلاpattern ^[a-z0-9][a-z0-9-]{2,62}$
default_localestringلاdefault "en" · pattern ^[a-z]{2}$
localesstring[]لاCatalog languages.
currencystringلاdefault "USD" · pattern ^[A-Z]{3}$
vertical"general" | "electronics" | "fashion" | "beauty" | "grocery" | "home" | "toys" | "health" | "sports" | "books"لاStore type: picks the word lists search uses. `general` = many kinds of products: the shared words of every store type, without words two types read differently. Set it with PATCH /v1/settings {"vertical": ...}.default "general"

الردود

GET/v1/settings

Store settings

يحتاج إلى مفتاح أو جلسة في لوحة التحكم

الردود

PATCH/v1/settings

Settings Update

يحتاج إلى مفتاح أو جلسة في لوحة التحكم

جسم الطلب application/json TenantSettings

الاسمالنوعإلزاميالوصف
namestring | nullلاmax length 200
default_localestring | nullلاpattern ^[a-z]{2}$
localesstring[] | nullلا
currencystring | nullلاpattern ^[A-Z]{3}$
vertical"general" | "electronics" | "fashion" | "beauty" | "grocery" | "home" | "toys" | "health" | "sports" | "books" | nullلاStore type. Sending a different value than the current one makes it the owner's choice (vertical_source owner: the catalog guess never changes it). Re-sending the current value changes nothing.
vertical_source"default" | "auto" | "owner" | nullلاRead only (ignored in PATCH).
auto_detailVerticalGuess | nullلاRead only (ignored in PATCH).
timezonestring | nullلاmax length 64
log_retention_daysinteger | nullلاmin 7 · max 730
searchSearchSettings | nullلا
translationTranslationSettings | nullلا
weekly_reportboolean | nullلا
extraobject | nullلا

الردود

GET/v1/flags

Feature flags for this store

يحتاج إلى مفتاح أو جلسة في لوحة التحكم

الردود

GET/v1/onboarding

Onboarding checklist progress

يحتاج إلى مفتاح أو جلسة في لوحة التحكم

الردود

أشكال البيانات في هذه الصفحة

TenantOut

الاسمالنوعإلزاميالوصف
idstringنعم
slugstringنعم
namestringنعم
status"pending_payment" | "trialing" | "active" | "past_due" | "suspended" | "canceled" | "deleted"نعمpending_payment = a store without a plan: before its free trial or first payment, or after its free trial ended unpaid (see billing_state)
plan_codestring | nullنعمThe store's plan. null = no plan yet (billing_state trial_available, no_trial or trial_ended).
billing_state"trial_available" | "no_trial" | "trialing" | "trial_ended" | "paid" | "exempt"لاtrial_available: no plan; the 14-day free trial (no card) starts with the first search made with a public key. no_trial: no plan, and the owner already used the free trial on a store: choose a plan to go live. trialing: the free trial runs until trial_ends_at. trial_ended: the free trial ended unpaid; public keys answer 402 until a plan is chosen. paid: the store has a paid plan (see status). exempt: an internal store that billing never stops.default "paid"
default_localestringنعم
localesstring[]نعم
currencystringنعم
vertical"general" | "electronics" | "fashion" | "beauty" | "grocery" | "home" | "toys" | "health" | "sports" | "books"لاStore type: picks the word lists search uses. `general` = many kinds of products: the shared words of every store type, without words two types read differently. Set it with PATCH /v1/settings {"vertical": ...}.default "general"
vertical_source"default" | "auto" | "owner"لاWhere `vertical` came from: default (not set), auto (SeekGist guessed it from the catalog; checked again on full syncs), owner (chosen in settings; never changed by the guess).default "default"
auto_detailVerticalGuess | nullلاThe last catalog check, when source is auto.
trial_ends_atstring (date-time) | nullلا
syncSyncHealthلا
created_atstring (date-time)نعم

VerticalGuess

The catalog check behind an automatic store type (`vertical_source: auto`).

الاسمالنوعإلزاميالوصف
vertical"general" | "electronics" | "fashion" | "beauty" | "grocery" | "home" | "toys" | "health" | "sports" | "books"نعمWhat the check decided: a store type, or general (no clear winner).
leading"general" | "electronics" | "fashion" | "beauty" | "grocery" | "home" | "toys" | "health" | "sports" | "books" | nullلاThe most common store type among the products.
sharenumberنعمShare (0..1) of the checked products with a type that have the leading type.
products_checkedintegerنعم
products_decidedintegerنعمChecked products whose category or name points to one store type.
checked_atstring (date-time) | nullلا

SyncHealth

The store's automatic product sync: when the last one came, and whether it has stopped.

الاسمالنوعإلزاميالوصف
last_sync_atstring (date-time) | nullلاThe last automatic product sync: POST /v1/products/batch with a secret key (store modules, SDKs, your own server), a store app webhook or a connector pull sync. Dashboard file imports do not count.
last_full_sync_atstring (date-time) | nullلاThe last full sync (POST /v1/products/batch with sync_complete: true).
stalebooleanلاtrue: the store has done a full sync, but no automatic sync came for more than 26 hours (its daily job has probably stopped). Never true for a store without a full sync.default false

TenantCreate

الاسمالنوعإلزاميالوصف
namestringنعمmax length 200
slugstring | nullلاpattern ^[a-z0-9][a-z0-9-]{2,62}$
default_localestringلاdefault "en" · pattern ^[a-z]{2}$
localesstring[]لاCatalog languages.
currencystringلاdefault "USD" · pattern ^[A-Z]{3}$
vertical"general" | "electronics" | "fashion" | "beauty" | "grocery" | "home" | "toys" | "health" | "sports" | "books"لاStore type: picks the word lists search uses. `general` = many kinds of products: the shared words of every store type, without words two types read differently. Set it with PATCH /v1/settings {"vertical": ...}.default "general"

TenantSettings

الاسمالنوعإلزاميالوصف
namestring | nullلاmax length 200
default_localestring | nullلاpattern ^[a-z]{2}$
localesstring[] | nullلا
currencystring | nullلاpattern ^[A-Z]{3}$
vertical"general" | "electronics" | "fashion" | "beauty" | "grocery" | "home" | "toys" | "health" | "sports" | "books" | nullلاStore type. Sending a different value than the current one makes it the owner's choice (vertical_source owner: the catalog guess never changes it). Re-sending the current value changes nothing.
vertical_source"default" | "auto" | "owner" | nullلاRead only (ignored in PATCH).
auto_detailVerticalGuess | nullلاRead only (ignored in PATCH).
timezonestring | nullلاmax length 64
log_retention_daysinteger | nullلاmin 7 · max 730
searchSearchSettings | nullلا
translationTranslationSettings | nullلا
weekly_reportboolean | nullلا
extraobject | nullلا

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.

الاسمالنوعإلزاميالوصف
rule_parserbooleanلاdefault true
in_stock_firstbooleanلاdefault true
business_signalsmap<string, number>لاOpt-in weights 0..1, e.g. {popularity: 0.2, margin: 0.1, clicks: 0.2}.
typo_tolerancebooleanلاdefault true
hybrid_searchbooleanلاdefault false
cheap_rerank_top_nintegerلاdefault 50 · min 10 · max 200
merch_rulesbooleanلاdefault true
disabled_rule_idsstring[]لا
synonym_setsstring[]لا
global_synonymsbooleanلاUse the platform's global synonyms for my store type.default true
disabled_global_synonym_idsstring[]لاGlobal 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.

الاسمالنوعإلزاميالوصف
watchbooleanلاTranslate new and changed products automatically.default false
target_localesstring[]لا
fields"name" | "description" | "category" | "attribute_name" | "attribute_value"[]لا
index_machine_translationsbooleanلاSearch uses automatic translations that passed the automatic checks before review.default true

FlagOut

الاسمالنوعإلزاميالوصف
keystringنعم
enabledbooleanنعم
source"default" | "rollout" | "override" | "plan"نعم

OnboardingOut

الاسمالنوعإلزاميالوصف
stepsOnboardingStep[]نعم
started_atstring (date-time)نعم
minutes_elapsednumberنعم

OnboardingStep

الاسمالنوعإلزاميالوصف
key"platform" | "connector" | "first_index" | "first_search" | "keys" | "team"نعم
donebooleanنعم
done_atstring (date-time) | nullلا