Brand registration form

A 10DLC brand registration form. Collects the TCR-required legal identity and business contact, validates the EIN and phone before submit, and POSTs to /brands through your Handset proxy — then surfaces the brand's initial vetting status.

Installation

npx shadcn@latest add @handset/brand-registration-form

Requires the proxy routes (next-routes and friends), which now expose POST /brands. Registration commits your account — gate it behind an admin check in your proxy's resolveTenantId if end users shouldn't self-register.

Usage

import { BrandRegistrationForm } from "@/components/handset/brand-registration-form";

<BrandRegistrationForm
  onRegistered={(brand) => router.push(`/compliance/${brand.id}`)}
/>

Pass tenantId to register the brand under a specific tenant, or omit it for an account-level brand. The EIN comes back masked in the response.

Props

Props
PropTypeDefaultDescription
tenantIdstring—Register under a specific tenant (tnt_…). Omit for account-level.
onRegistered(brand: Brand) => void—Called with the created brand on success.
classNamestring—Merged onto the form.