Checkify
Developer docs

Embed SDK reference

Browser API for Checkify Pass verification. CDN URL: https://checkify.me/sdk/v1/checkify.min.js

Install

<script src="https://checkify.me/sdk/v1/checkify.min.js"></script>

After load, window.Checkify.version reports the SDK release (currently 1.0.4).

HTML auto-mount

The SDK auto-mounts elements with these attributes on page load:

<div
  data-checkify-pass="YOUR_PASS_ID"
  data-checkify-request="human"
  data-checkify-text="Verify with Checkify"
  data-checkify-return-url="https://yoursite.com/done"
></div>

Deprecated: data-checkify-launcher still works but logs a console warning. Use Pass + request type instead.

MethodDescription
data-checkify-passYour Checkify Pass public ID (required)
data-checkify-requestRequest type: human, age_over_13, age_over_16, age_over_18, age_over_21, age_over_25, or age_over_N
data-checkify-textButton label text
data-checkify-return-urlOptional URL to return to after app handoff
data-checkify-fieldsOptional comma-separated identity fields to request (for example country)
data-checkify-proofsOptional comma-separated proof types when your Pass supports multiple proofs
data-checkify-launcherDeprecated launcher ID — use data-checkify-pass instead

Form integration attributes

When using Checkify.bindForm, you can also set these on the form element:

MethodDescription
data-checkify-passYour Checkify Pass public ID (required)
data-checkify-requestRequest type: human, age_over_13, age_over_16, age_over_18, age_over_21, age_over_25, or age_over_N
data-checkify-auto="true"Set data-checkify-auto="true" on a form to auto-bind on page load without calling bindForm manually
data-checkify-hidden-inputCSS selector for the hidden input that receives request_id (default: input[name=checkify_token])

Checkify.configure(options)

Set global defaults before mounting widgets.

Checkify.configure({
  baseUrl: 'https://checkify.me',
  completeUrl: '/checkify/complete'
});

Checkify.bindForm(form, options)

Renders a verify button, writes a token to a hidden input, and disables submit until verified.

Checkify.bindForm('#my-form', {
  passId: 'YOUR_PASS_ID',
  requestType: 'human',
  buttonTarget: '#checkify-wrap',
  submitButton: '#submit',
  hiddenInput: '#checkify_token',
  disableSubmitUntilVerified: true
});

bindForm options

Common options passed as the second argument to Checkify.bindForm(form, options):

MethodDescription
passIdCheckify Pass public ID (required unless set on the form via data-checkify-pass)
requestTypeRequest type (human, age_over_18, etc.)
buttonTargetContainer element where the verify button is rendered
submitButtonSubmit control to enable after verification
hiddenInputHidden field selector for request_id
disableSubmitUntilVerifiedWhen true, keeps submit disabled until verification succeeds

Checkify.createHumanGate(options)

Full-page or container gate that blocks content until verification completes.

Checkify.createHumanGate({
  passId: 'YOUR_PASS_ID',
  requestType: 'human',
  container: '#gate-root',
  title: 'Verify to continue'
});

Return URL flow

When users complete verification in the Checkify app, they may return to your site with checkify_request_id in the query string. The SDK calls Checkify.checkReturnedVerification() automatically on load.

Checkify.verify(options)

Start verification programmatically without auto-mounting HTML. Returns a promise that resolves when the user completes or cancels.

const result = await Checkify.verify({
  passId: 'YOUR_PASS_ID',
  requestType: 'human',
  container: document.getElementById('checkify-root')
});
console.log(result.requestId); // send to your server as request_id

Events

window.addEventListener('checkify:verified', (e) => {
  console.log('Verified', e.detail);
});

window.addEventListener('checkify:error', (e) => {
  console.error('Checkify error', e.detail);
});

Status polling (optional)

Most integrations should verify on form submit with POST /v1/qr/results/verify. For custom frontends without the embed, you may poll status while the user completes verification in the app.

Server verify

Methods

MethodDescription
Checkify.mount(root?)Mount Pass widgets under optional root element
Checkify.bindForm(...)Form integration helper
Checkify.createHumanGate(...)Human verification gate UI
Checkify.verify(options)Programmatic verify flow
Checkify.checkReturnedVerification()Handle return URL after app handoff