Skip to main content
No plugin? Add Filecheck to any platform in two parts: gate the upload on the client, and verify the job on your server.
1

Get your keys and a workflow

From the dashboard, grab a publishable key, a secret key, and a workflowId.
2

Embed the Element (client)

Drop in the Element, mount it, and gate your submit button on canProceed.
<script src="https://cdn.filecheck.io/element/v1/filecheck.js"></script>
<div id="fc-slot"></div>
<script>
  const fc = Filecheck('pk_live_…');
  const intake = fc.elements.create('intake', { workflowId: 'wf_…' });
  intake.mount('#fc-slot');
  intake.on('status', ({ canProceed, jobId }) => {
    submitBtn.disabled = !canProceed;
    hiddenJobIdInput.value = jobId ?? '';
  });
</script>
See Installation for async loading and sizing.
3

Verify the job (server)

Before fulfilling, verify the submitted jobId with your secret key.
curl https://api.filecheck.io/jobs/{jobId} \
  -H "Authorization: Bearer sk_live_…"
See Verify jobs and the full API reference.
Prefer a fully headless flow with no widget? Submit files directly with POST /jobs and poll or use webhooks. See Headless & custom platforms.