Create a customer
POST /v1/customers accepts name and optional externalCustomerId. The external ID is unique per account; duplicates return 409.
Create a setup link
UsePOST /v1/setup-links, optionally with customerId, or POST /v1/customers/{customerId}/setup-links.
Supply allowedOrigins: one to eight exact HTTPS origins, such as https://app.example.com. Optional fields include successRedirectUrl, failureRedirectUrl and allowedConnectionTypes (dedicated, coexistence). Keep redirects aligned with permitted origins.
The returned link opens /connect/{token}. It is single-use and expires after one hour. Treat the whole link as sensitive and share it only with the intended customer.
Use project webhooks for number-created and disconnected events, then check GET /v1/phones.
Preassigned lines
POST /v1/onboarding/connect requires a preassigned phone and WABA, an Embedded Signup code and a six-digit pin. Check the returned step before retrying: a later step can fail after the token is stored.
exchange and override-callback are not supported tenant flows. Receive events through developer webhooks, not by replacing the gateway’s Meta callback.