> ## Documentation Index
> Fetch the complete documentation index at: https://docs.bizbionic.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Partner platform

> Multi-customer ISV path: partner.register, onboard, send, webhooks.

# Partner platform

For POS, vertical SaaS, CRM platforms, and agencies that onboard **many** end-customers with isolated SMS.

**Rules**

* Resolve end-customers by **`external_ref` only** — never pass BizBionic account/child ids on send
* **`idempotency_key` required** on `partner.send`
* Product surface is **BizBionic only** (no upstream carrier branding in partner APIs or errors)
* Suspend is a kill-switch; reactivation requires **BizBionic support**

## Steps

### 1. Register partner

```bash theme={null}
curl -s -X POST https://app.bizbionic.com/rpc \
  -H 'Content-Type: application/json' \
  -d '{"jsonrpc":"2.0","id":1,"method":"partner.register","params":{"name":"Acme POS"}}'
```

Store `api_key` once (`permissions=partner`).

### 2. Onboard end-customer

```bash theme={null}
curl -s -X POST https://app.bizbionic.com/rpc \
  -H "Authorization: Bearer $BB_PARTNER_KEY" \
  -H 'Content-Type: application/json' \
  -d '{"jsonrpc":"2.0","id":2,"method":"partner.onboardCustomer","params":{"external_ref":"store_4821","name":"Downtown","vertical":"restaurant","use_case":"transactional"}}'
```

### 3. Send

```bash theme={null}
curl -s -X POST https://app.bizbionic.com/rpc \
  -H "Authorization: Bearer $BB_PARTNER_KEY" \
  -H 'Content-Type: application/json' \
  -d '{
    "jsonrpc":"2.0","id":3,"method":"partner.send",
    "params":{
      "external_ref":"store_4821",
      "to":"+14155550100",
      "message":"Your order is ready.",
      "idempotency_key":"order_ready_99",
      "consent_status":"express",
      "consent_source":"pos_checkout",
      "message_intent":"notifications"
    }
  }'
```

Optional `message_intent`: essential intents (`notifications`, `otp`, `delivery`, …) skip **marketing** quiet hours. Default is marketing if omitted.

### TypeScript SDK

```ts theme={null}
import { BizBionic } from '@bizbionic/sdk';

const partner = new BizBionic({ apiKey: process.env.BB_PARTNER_KEY });
await partner.partner.send({
  externalRef: 'store_4821',
  to: '+14155550100',
  message: 'Your order is ready.',
  idempotencyKey: 'order_ready_99',
  consent_status: 'express',
  consent_source: 'pos',
});
```

## Webhooks

Configure with `partner.configureWebhook`, drain with `partner.processOutbox`. See [Webhooks](/connect/webhooks).

## Next steps

* [SDK](/connect/sdk)
* [Errors](/errors)
* [Trust Setup](/compliance/trust-setup) per child
