Blazelock

Quickstart

Set up your Blazelock account, create your first workspace, and connect your application in a few guided steps.

Getting started with Blazelock is straightforward. After creating your account and setting up or joining a workspace, you just need to create your first integration and continue with its configuration.

Registration is currently limited to approved beta users. Join the waitlist first, then complete sign-up once your access has been enabled for your email address.

Create your account

Open Sign up and create your account with the email address you want to use for Blazelock.

After submitting the form, confirm your email address with the verification code sent to your inbox. If you already received a workspace invitation, use the exact email address your invitation was sent to.

Sign-up page with account fields

Create or join a workspace

If you are starting from scratch, Blazelock opens the initial workspace setup flow directly after sign-up so you can create your first workspace right away. If you were invited to an existing workspace, you can join it through your invitation.

For most teams, one workspace is the right starting point. Create additional workspaces only when you need a clear boundary between teams, business units, or billing contexts. You can learn more on Workspaces.

Initial workspace setup flow after creating a new account

Create your first integration

Open Integrations in the dashboard and click Add integration.

Choose the integration type that fits your use case, enter a clear name, and create the integration. Good names describe the exact system or environment you want to connect, for example Production uploads, Staging backend, or Support portal.

Blazelock opens the integration details immediately after creation. If you want more background on how integrations are structured, continue with Integrations.

Create integration flow with type selection and integration details

Configure your integration

On the integration details page, complete the configuration needed for your chosen integration type. Depending on the integration, this can include credentials, endpoints, events, secrets, or other environment-specific settings.

The exact configuration steps depend on the integration type. For the API integration, the detailed dashboard flows are documented on API keys and Webhooks.

Integration detail page with the main configuration sections

Complete your first end-to-end setup

Connect the integration to the application, system, or workflow you want to protect and validate the setup with a real end-to-end test.

The following example shows the setup for an API integration.

Use the asynchronous endpoint when your application can process the result later through webhooks or status polling:

import { readFile } from 'node:fs/promises'

// Build the multipart upload payload.
const form = new FormData()
const attributes = { file_name: 'invoice.pdf' }
form.append('attributes', new Blob([JSON.stringify(attributes)], { type: 'application/json' }))
form.append('file', new Blob([await readFile('./invoice.pdf')]))

// Submit the file for asynchronous scanning.
const submitResponse = await fetch('https://api.blazelock.com/v1/file-scans', {
  method: 'POST',
  headers: {
    Authorization: `Bearer ${process.env.BLAZELOCK_API_KEY}`,
  },
  body: form,
})

let scan = await submitResponse.json()

// Poll until Blazelock returns a terminal status.
while (scan.status === 'processing') {
  await new Promise(resolve => setTimeout(resolve, 2000))

  const statusResponse = await fetch(`https://api.blazelock.com/v1/file-scans/${scan.id}`, {
    headers: {
      Authorization: `Bearer ${process.env.BLAZELOCK_API_KEY}`,
    },
  })

  scan = await statusResponse.json()
}

console.log(scan.id, scan.status)

Use the synchronous endpoint when the caller needs a terminal result during the same request:

import { readFile } from 'node:fs/promises'

// Build the multipart upload payload.
const form = new FormData()
const attributes = { file_name: 'invoice.pdf' }
form.append('attributes', new Blob([JSON.stringify(attributes)], { type: 'application/json' }))
form.append('file', new Blob([await readFile('./invoice.pdf')]))

// Submit the file and wait for a terminal scan result.
const response = await fetch('https://api.blazelock.com/v1/file-scans/sync', {
  method: 'POST',
  headers: {
    Authorization: `Bearer ${process.env.BLAZELOCK_API_KEY}`,
  },
  body: form,
})

const scan = await response.json()

console.log(scan.id, scan.status)

You now have the foundation for your first API setup with Blazelock. Test the full flow end to end before using it in production.

Next steps

On this page