Partner KYC & onboarding
Your brand on the outside. Our compliance engine underneath.
Let clients onboard with your name on the screen while Jackson Swiss Partners runs the company pre-fill, identity verification and KYC vault. One API, signed webhooks, and no compliance UI for you to build.
Companies House pre-fill·ComplyCube verification·Central KYC vault
Confirm your onboarding
Hi Dana, let’s get Acme Holdings set up.
We’ve pre-filled your company details. Confirm a few things and complete a quick, secure identity check.
The handoff
Four calls, and the onboarding is ours to run.
- 01
Originate
Call the API with a company. We pull its details and beneficial owners from Companies House and open a draft onboarding.
- 02
Invite in your name
Send a branded “confirm onboarding” email from your address, or drop the resume link straight into your own app.
- 03
The client verifies
They finish the hosted flow under your brand. ComplyCube runs document and biometric checks. You never touch a KYC file.
- 04
You’re notified
A signed webhook fires the moment KYC clears or fails, with retries. Poll the status endpoint whenever you like.
White-label
Your clients never see us.
Set your name, logo, colour, sending address and privacy link once. The same onboarding renders and emails under your brand for every applicant, no forked codebase, no “powered by” in the way of your relationship.
- Brand name & logo
- Your sending address
- Your primary colour
- Your privacy policy link
Companies House pre-fill
Legal name, number, registered office, incorporation date and beneficial owners down to 10%, pulled from the public register.
Hosted identity verification
Document and biometric capture run in our flow via ComplyCube, a regulated provider. There is no KYC screen for you to build.
Central KYC vault
Verified people and documents are stored once and reused across a client’s applications, matched by email, then name and date of birth.
Signed webhooks
HMAC-SHA256 status events you verify with your secret, sent only on a real change, with automatic retries and a polling fallback.
Everything the integration needs.
Companies House pre-fill
Legal name, number, registered office, incorporation date and beneficial owners down to 10%, pulled from the public register.
Hosted identity verification
Document and biometric capture run in our flow via ComplyCube, a regulated provider. There is no KYC screen for you to build.
Central KYC vault
Verified people and documents are stored once and reused across a client’s applications, matched by email, then name and date of birth.
Signed webhooks
HMAC-SHA256 status events you verify with your secret, sent only on a real change, with automatic retries and a polling fallback.
Your branding, end to end
Name, logo, colour, sending address and privacy link. The same onboarding renders and emails as you, not us.
Isolated by key
Each partner sees only its own onboardings, and identities never merge across partners. Keys are hashed at rest and revocable.
/api/partner/v1
A few lines to onboard a client.
Authenticate with your key, originate an onboarding, then send the branded invite or embed the returned resume link. Verify each webhook against your secret. That is the whole integration.
// One HTTPS call originates a partner-branded onboarding.
const res = await fetch('https://www.jacksonswiss.com/api/partner/v1/onboardings', {
method: 'POST',
headers: {
'Authorization': `Bearer ${process.env.JSP_KYC_KEY}`,
'Content-Type': 'application/json',
},
body: JSON.stringify({
company_name: 'Acme Holdings Ltd',
name: 'Dana Client',
email: 'dana@acme.example',
product: 'fx_payments',
}),
});
const { id } = await res.json();
// Then send your branded invite, or embed the returned resume_url.
await fetch(`.../onboardings/${id}/invite`, { method: 'POST' });Results, signed
You’re told the moment it clears.
Every status change is POSTed to your endpoint with an HMAC-SHA256 signature you verify against your secret. It fires only on a real transition, retries on failure, and is safe to treat idempotently.
KYC lifecycle
X-JSP-Event: onboarding.kyc.updated
X-JSP-Signature: 9f2c1e…a7(hex HMAC-SHA256 of the raw body)
{
"event": "onboarding.kyc.updated",
"onboarding_id": 1042,
"kyc_status": "verified",
"lifecycle": "complete",
"company_name": "Acme Holdings Ltd",
"occurred_at": "2026-07-02T14:08:31Z"
}Central vault
One identity, reused across applications.
A verified person is stored once and matched on the next onboarding by email, then name and date of birth. Their documents and result carry across, and nothing is ever merged with another partner’s records.
Dana Client
verified · reusable party
FX payments
FX-000021
Hedging
FX-000044
Commercial finance
LENDING-000012
Trust & compliance
Built for the compliance team, too.
Regulated verification
Identity and address checks run through ComplyCube. You never operate a verification vendor relationship.
Signed, retried delivery
Every event carries an HMAC signature; delivery retries on 10s / 30s / 60s / 300s backoff and is safe to treat idempotently.
Encrypted vault
Documents are copied into an access-controlled vault namespace, kept even if the original application is removed.
Immutable audit trail
Every action, from party created to status changed, is written to an append-only audit log for compliance.
Identity and address checks are performed by our regulated verification partner. A person is stored once and reused as a verified party; a new onboarding still begins as pending until its own check completes.
Questions partners ask.
- Do my clients ever see Jackson Swiss Partners?
- No. The invite email, the sender, the hosted flow and the branding are all yours. We run underneath so your onboarding looks and feels like your product.
- What runs the identity verification?
- ComplyCube, a regulated verification provider. Document and biometric capture happen inside our hosted flow, so you never handle ID files or integrate an SDK.
- How do I know when a client is verified?
- We POST a signed webhook the moment KYC status changes, with retries, and you can poll GET /onboardings/{id} for status, lifecycle and document counts any time.
- Is my data separated from other partners?
- Yes. Every onboarding and identity is scoped to your API key. Identity matching is isolated to you and never merges with another partner’s or with our first-party records.
Put your brand on our KYC.
Tell us about your platform and we’ll issue an API key, set up your branding, and walk you through the first onboarding.