Developer Docs

Build on the BGSOF API

One REST API to pull catalogs, build quotes, and sync orders. First-class SDKs, real-time webhooks, and OAuth 2.0 — everything you need to integrate BGSOF into your stack.

Developer Ready

Integrate Bgsof
into your app in minutes

First-class SDKs for every platform your team ships on. One API, fully documented, with real-time webhooks and OAuth 2.0 built in.

  • REST + JSON — fetch products, quotes, and customer data with clean, predictable responses
  • Real-time webhooks — get notified instantly when a quote is updated or a new order is placed
  • OAuth 2.0 auth — secure, scoped API keys with fine-grained permissions per integration
  • 99.9 % uptime SLA — built on redundant infrastructure so your catalog is always available
bgsof-integration

Manufacturer API Key required — Settings → API in your dashboard

import { BGSofClient, useBGSof } from '@bgsof/react'

// Settings → API in your Manufacturer dashboard
const client = new BGSofClient({
  apiKey: 'mfr_live_••••••••',
})

export function ProductCatalog() {
  const { products, loading } = useBGSof({
    brand: 'Kohler',
    category: 'faucets',
  })
  if (loading) return <Spinner />
  return <ProductGrid items={products} />
}
import BGSofSDK

// Settings → API in your Manufacturer dashboard
let client = BGSofClient(
  apiKey: "mfr_live_••••••••"
)

Task {
  let catalog = try await client.products.list(
    brand: "Kohler",
    category: .faucets
  )
  await MainActor.run {
    self.products = catalog.items
  }
}
import com.bgsof.sdk.BGSofClient
import com.bgsof.sdk.Category

// Settings → API in your Manufacturer dashboard
val client = BGSofClient("mfr_live_••••••••")

lifecycleScope.launch {
  val catalog = client.products.list(
    brand = "Kohler",
    category = Category.FAUCETS
  )
  adapter.submitList(catalog.items)
}
<script>
  import { getProducts } from '@bgsof/svelte'

  // Settings → API in your Manufacturer dashboard
  const catalog = getProducts({
    apiKey: 'mfr_live_••••••••',
    brand: 'Kohler',
    category: 'faucets',
  })
</script>

{#await catalog}
  <Spinner />
{:then items}
  <ProductGrid {items} />
{/await}
bgsof-sdk v2.4.1
API healthy

Authentication

Secure by default

Every request is authenticated with a scoped key. Generate and rotate keys anytime from your dashboard under Settings → API.

API keys

Bearer tokens scoped per integration. Separate test and live keys keep your data safe.

OAuth 2.0

Let showrooms authorize your app with fine-grained scopes — no password sharing, revocable anytime.

Rate limits

1,000 requests/min per key by default. Every response returns X-RateLimit-* headers so you can back off cleanly.

example request
# Fetch a manufacturer's product catalog
curl https://api.bgsof.com/v1/products?brand=Kohler \
  -H "Authorization: Bearer mfr_live_••••••••" \
  -H "Accept: application/json"

Reference

Core endpoints

Base URL https://api.bgsof.com/v1. All responses are JSON.

  • GET /products
  • GET /products/{id}
  • GET /manufacturers
  • POST /quotes
  • GET /quotes/{id}
  • PATCH /quotes/{id}
  • POST /webhooks

Looking for the full schema, error codes, and webhook payloads? Talk to our team to get early access to the complete reference.

Ready to build? Grab an API key and ship your first BGSOF integration today.