Skip to main content
POST
Creates a new onboarding widget. New widgets are created in draft status. The full config object is required and must contain every section. Requires Authorization: Bearer $TOKEN.

Body

string
required
Human-readable name for this widget. 1–120 characters.
string
default:"blank"
Template identifier the widget was built from. 1–60 characters.
string
default:"sandbox"
One of sandbox or live.
object
required
Full widget configuration. All six sections below are required.

config.branding

string
required
1–120 characters.
string
default:""
Logo URL, up to 2048 characters.
string
Storage public ID, up to 512 characters.
string
required
Hex colour, e.g. #6466AE.
string
required
One of sharp, soft, round.
string
required
1–200 characters.
string
required
1–600 characters.
string
required
1–200 characters.
string
required
1–600 characters.
string
default:""
Up to 200 characters.

config.modules

object
required
A map keyed by module ID (e.g. business_profile, cac_verification). Each value is { "enabled": boolean, "required": boolean }. See Module catalog for the 19 valid module IDs.

config.flow

string[]
required
Ordered array of module IDs.
boolean
required
boolean
required
integer
required
5–240.
string
default:""
Up to 2048 characters.
string
default:""
Up to 2048 characters.
string
default:""
Up to 2048 characters.

config.security

string[]
required
Up to 50 entries, each up to 255 characters.
string[]
required
Up to 250 two-letter country codes.
boolean
required
string[]
required
Up to 100 entries, each up to 64 characters.
boolean
required

config.risk

string
required
One of low, standard, enhanced.
integer
required
0–100.
integer
required
0–100.
boolean
required
boolean
required
boolean
required

config.notifications

boolean
required
boolean
required
string
default:""
Up to 200 characters.
string[]
required
Up to 20 entries, each up to 60 characters.
Returns 201 with the full widget object. Set the widget to live with Set widget status when ready.