Team
Members, roles, invites.
8 نقاط وصول. أسماء نقاط الوصول وأوصافها مأخوذة من ملف OpenAPI، لذلك تظهر بالإنجليزية.
GET /v1/team/membersPATCH /v1/team/members/{membership_id}DELETE /v1/team/members/{membership_id}GET /v1/team/invitesPOST /v1/team/invitesDELETE /v1/team/invites/{invite_id}POST /v1/team/invites/lookupPOST /v1/team/invites/accept
GET
/v1/team/membersTeam Members List
يحتاج إلى مفتاح أو جلسة في لوحة التحكم
الردود
- 200Successful Response
MemberOut[]
PATCH
/v1/team/members/{membership_id}Team Members Update
يحتاج إلى مفتاح أو جلسة في لوحة التحكم
المعاملات
| الاسم | الموضع | النوع | إلزامي | الوصف |
|---|---|---|---|---|
membership_id | path | string | نعم |
جسم الطلب application/json MemberUpdate
| الاسم | النوع | إلزامي | الوصف |
|---|---|---|---|
role | "owner" | "admin" | "editor" | "viewer" | نعم |
الردود
- 200Successful Response
MemberOut
DELETE
/v1/team/members/{membership_id}Team Members Remove
يحتاج إلى مفتاح أو جلسة في لوحة التحكم
المعاملات
| الاسم | الموضع | النوع | إلزامي | الوصف |
|---|---|---|---|---|
membership_id | path | string | نعم |
الردود
- 200Successful Response
Deleted
GET
/v1/team/invitesTeam Invites List
يحتاج إلى مفتاح أو جلسة في لوحة التحكم
الردود
- 200Successful Response
InviteOut[]
POST
/v1/team/invitesTeam Invites Create
يحتاج إلى مفتاح أو جلسة في لوحة التحكم
جسم الطلب application/json InviteCreate
| الاسم | النوع | إلزامي | الوصف |
|---|---|---|---|
email | string (email) | نعم | |
role | "admin" | "editor" | "viewer" | نعم |
الردود
- 201Successful Response
InviteOut
DELETE
/v1/team/invites/{invite_id}Team Invites Revoke
يحتاج إلى مفتاح أو جلسة في لوحة التحكم
المعاملات
| الاسم | الموضع | النوع | إلزامي | الوصف |
|---|---|---|---|---|
invite_id | path | string | نعم |
الردود
- 200Successful Response
Deleted
POST
/v1/team/invites/lookupInvite page: the store and role of a valid invite token (no sign-in)
لا يحتاج إلى مفتاح
جسم الطلب application/json TokenRequest
| الاسم | النوع | إلزامي | الوصف |
|---|---|---|---|
token | string | نعم | min length 20 · max length 200 |
الردود
- 200Successful Response
InviteLookup
POST
/v1/team/invites/acceptTeam Invites Accept
يحتاج إلى مفتاح أو جلسة في لوحة التحكم
جسم الطلب application/json TokenRequest
| الاسم | النوع | إلزامي | الوصف |
|---|---|---|---|
token | string | نعم | min length 20 · max length 200 |
الردود
- 200Successful Response
TenantOut
أشكال البيانات في هذه الصفحة
MemberOut
| الاسم | النوع | إلزامي | الوصف |
|---|---|---|---|
id | string | نعم | |
user_id | string | نعم | |
email | string | نعم | |
name | string | null | نعم | |
role | "owner" | "admin" | "editor" | "viewer" | نعم | |
created_at | string (date-time) | نعم |
MemberUpdate
| الاسم | النوع | إلزامي | الوصف |
|---|---|---|---|
role | "owner" | "admin" | "editor" | "viewer" | نعم |
Deleted
| الاسم | النوع | إلزامي | الوصف |
|---|---|---|---|
deleted | boolean | لا | default true |
id | string | نعم |
InviteOut
| الاسم | النوع | إلزامي | الوصف |
|---|---|---|---|
id | string | نعم | |
email | string | نعم | |
role | "owner" | "admin" | "editor" | "viewer" | نعم | |
expires_at | string (date-time) | نعم | |
created_at | string (date-time) | نعم |
InviteCreate
| الاسم | النوع | إلزامي | الوصف |
|---|---|---|---|
email | string (email) | نعم | |
role | "admin" | "editor" | "viewer" | نعم |
TokenRequest
| الاسم | النوع | إلزامي | الوصف |
|---|---|---|---|
token | string | نعم | min length 20 · max length 200 |
InviteLookup
What the invite page shows before sign-in (m17). Only for a valid, unused invite token.
| الاسم | النوع | إلزامي | الوصف |
|---|---|---|---|
store_name | string | نعم | |
inviter_display_name | string | null | لا | The inviter's name; never their email. None when they set no name. |
role | "admin" | "editor" | "viewer" | نعم | |
expires_at | string (date-time) | نعم | |
email_masked | string | نعم | The invited address, masked: "s***@example.com". |
TenantOut
| الاسم | النوع | إلزامي | الوصف |
|---|---|---|---|
id | string | نعم | |
slug | string | نعم | |
name | string | نعم | |
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_code | string | 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_locale | string | نعم | |
locales | string[] | نعم | |
currency | string | نعم | |
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_detail | VerticalGuess | null | لا | The last catalog check, when source is auto. |
trial_ends_at | string (date-time) | null | لا | |
sync | SyncHealth | لا | |
created_at | string (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. |
share | number | نعم | Share (0..1) of the checked products with a type that have the leading type. |
products_checked | integer | نعم | |
products_decided | integer | نعم | Checked products whose category or name points to one store type. |
checked_at | string (date-time) | null | لا |
SyncHealth
The store's automatic product sync: when the last one came, and whether it has stopped.
| الاسم | النوع | إلزامي | الوصف |
|---|---|---|---|
last_sync_at | string (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_at | string (date-time) | null | لا | The last full sync (POST /v1/products/batch with sync_complete: true). |
stale | boolean | لا | 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 |