Skip to main content
POST
Create a webhook endpoint

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: write operations, authentication, payment verification, AI recommendations

Publishable Keys (Client-Safe):

  • Format: tybrite_pk_live_* (production) or tybrite_pk_test_* (sandbox)
  • Read-only access (GET requests only, plus POST semantic search)
  • ✅ Safe for client-side JavaScript, mobile apps, and public code
  • Allowed for: browsing products, search, CMS content, pricing queries

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)
  • All write operations: Secret key required
  • All read operations: Both key types allowed

Using a publishable key for restricted operations returns 403 Forbidden.

Body

application/json
url
string<uri>
required

HTTPS destination URL. HTTP is rejected.

Example:

"https://yourapp.com/webhooks/tybrite"

events
string[]
required

Array of event types to subscribe to. Use ["*"] for all events.

Order lifecycle: order.created, order.paid, order.fulfilled, order.shipped, order.cancelled, order.refunded, order.updated

Payment lifecycle: payment.succeeded, payment.failed, payment.refunded

Customer lifecycle: customer.created, customer.updated, customer.deleted

Inventory & catalog: product.created, product.updated, product.stock_low, product.out_of_stock

Cart & checkout: cart.created, cart.updated, cart.abandoned

Gift cards: gift_card.issued, gift_card.redeemed, gift_card.expired

Promotions: promotion.applied (a promotion was applied to a checkout), promotion.created, promotion.activated (a promotion went live), promotion.deactivated (a live promotion ended, was paused, or expired)

Content & collections: collection.created, collection.updated (a product collection was added or its homepage placement / banner changed), post.published, lookbook.published, review.approved (a review passed moderation and is now visible)

Store lifecycle & configuration: store.updated (the store's name, logo, branding, contact, or base currency changed — carries a changed_fields list), payment_provider.connected (a payment provider was connected), shipping_provider.connected (a shipping-rate provider was connected), channel.connected (a sales channel was connected)

Feature availability: feature.status_changed — a capability crossed from awaiting data to available (or the reverse), e.g. the store's first approved reviews arrive and reviews become usable. Carries feature, status, and previous_status. Use this to light up a storefront surface the moment its data exists. See the automation-webhooks guide.

Catalog sync & syndication: feed.sync.completed (a scheduled inbound feed-pull finished — carries created/updated/failed counts), channel.sync.completed (a sales-channel push to Google/Meta/… finished — carries pushed/rejected counts)

Wholesale (B2B): for stores with wholesale enabled — b2b.rfq.created, b2b.quote.sent, b2b.quote.accepted, b2b.quote.rejected, b2b.po.issued, b2b.po.confirmed, b2b.po.fulfilled, b2b.invoice.issued, b2b.invoice.paid, b2b.invoice.overdue

The store-lifecycle, content, and feature-availability events are designed for automation tools that keep a storefront in step with the store as it grows — the moment a promotion goes live, a collection becomes homepage-eligible, or a licensed capability gains its first data.

Example:
enabled
boolean
default:true

Whether the endpoint is active. Disabled endpoints are skipped on delivery.

metadata
object

Opaque key-value pairs for your own reference (not sent in deliveries).

Example:

Response

Endpoint created

webhook_endpoint
object