brij.js lets you embed business flows - contact forms, onboarding, checkout - into any external website. Schema-driven, no redirect, no iframe. Your host controls the data.
import { Brij } from 'brij'
// initialize once
Brij.init({
host: 'https://app.yourco.com',
apiKey: 'pk_live_...'
})
// open a form by slug - anywhere on the page
document.querySelector('#contact-btn').addEventListener('click', () =>
Brij.open('contact', {
mode: 'panel',
onSuccess: (data) => console.log('Submitted', data)
})
) Return a JSON schema from GET /brij/schema/:slug. No deploy needed to change fields - update the schema and it's live instantly.
brij.js fetches the schema, injects the form into the host DOM, and handles multi-step navigation and validation.
On submit, brij.js POSTs FormData to your /brij/submit/:slug endpoint. Your onSuccess callback fires with the response.
Forms render directly in the host DOM. Full control over z-index, focus, and layout.
Your server defines the form shape. brij.js fetches the schema at runtime - no rebuild needed to change fields.
One init call, then open any form by slug. Works in any JS environment - React, Vue, vanilla, no framework.
Steps with back/next navigation are built in. Each step validates before advancing.
Slide-in side panel or centered modal. Pick per open() call, or let the user decide.
Every request includes your API key header. The host validates it - brij.js never stores submission data.
Works with any stack
Installation takes under a minute. The quick-start gets you to a working form in 10 lines.