Skip to main content
GET
Simple text search

Authorizations

Authorization
string
header
required

API Key Authentication

Use your API key in the Authorization header:

Key Types:

Secret Keys (Server-Side Only):

  • Format: tybrite_sk_live_* (production) or tybrite_sk_test_* (sandbox)
  • Full read/write access to all endpoints
  • ⚠️ NEVER expose in client-side code or public repositories
  • Required for: every write a shopper does not make for themselves, authentication, payment verification, AI recommendations

Publishable Keys (Client-Safe):

  • Format: tybrite_pk_live_* (production) or tybrite_pk_test_* (sandbox)
  • Catalogue reads, plus the actions a shopper takes for themselves
  • ✅ Safe for client-side JavaScript, mobile apps, and public code
  • Allowed for: browsing products, search, CMS content, pricing queries, cart and wishlist, reviews, storefront events, and the Agent API's quotes, cart drafts and checkout intents

Endpoint-Specific Requirements:

  • Authentication endpoints (/v1/auth/*): Secret key required
  • Payment verification (POST /v1/payments/verify): Secret key required
  • AI Recommendations (POST /v1/recommendations): Secret key required
  • Semantic Search (POST /v1/search): Both key types allowed (read-only operation)
  • Shopper actions (cart, wishlist, reviews, storefront events, Agent API quotes, cart drafts and checkout intents): Both key types allowed
  • All other write operations: Secret key required
  • All read operations: Both key types allowed

Using a publishable key for restricted operations returns 403 Forbidden.

Query Parameters

store_id
string<uuid>

Marketplace operator key only. Narrow the marketplace search to a single merchant's products. Ignored when using a single-store key.

q
string

Search query (alternative to 'query' parameter)

query
string

Search query (alternative to 'q' parameter)

limit
integer
default:20

Maximum number of results to return

Required range: 1 <= x <= 100
b2b
boolean

Marks the request as coming from a wholesale buyer (identify them with any of x-auth-token, x-external-auth, or x-idp-token).

A search result is a reference to a product — an id, a score and a match reason — and carries no price, so this does not price results. What it does is keep the response out of the caches, because a buyer's results can be narrowed to the range they may order from and a narrowed set must not be served to anyone else. Fetch the priced page from GET /v1/products?b2b=true, which prices against that buyer's own agreement.

Response

Success

query
string
results
object[]
totalResults
integer
message
string