Blazelock
File Scans

Submit a synchronous file scan

Upload a file for malware scanning and wait for a terminal result within the synchronous polling window. Depending on the outcome, the response returns a completed or failed state. If the polling window is reached before a terminal result is available, a timeout error is returned together with the created file scan ID.

POST/file-scans/sync

Authorization

bearerAuth
AuthorizationBearer <token>

API key generated in the Blazelock Dashboard. Send it as Authorization: Bearer <api-key>.

In: header

Header Parameters

Content-Language?string

Two-letter ISO language code used for localized human-readable response messages. Supported values:

  • en = English
  • de = German
Value in"en" | "de"

Request Body

multipart/form-data

Multipart form payload for a synchronous file scan. It contains a binary file part and an attributes part encoded as JSON with the content type application/json.

Response Body

application/json

application/json

application/json

{
  "id": "019583d8-b2e4-7b8d-9d1f-6f4cb3d0b6f1",
  "external_reference_id": "invoice-4711",
  "status": "completed",
  "execution_mode": "sync",
  "file_name": "invoice.pdf",
  "file_size": 245761,
  "file_type": "application/pdf",
  "file_hash": {
    "md5": "d41d8cd98f00b204e9800998ecf8427e",
    "sha1": "da39a3ee5e6b4b0d3255bfef95601890afd80709",
    "sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
  },
  "result": {
    "safe": true,
    "detailed": "clean"
  },
  "completed_at": "2026-03-09T12:35:11.000Z",
  "scan_duration": 250,
  "submitted_at": "2026-03-09T12:34:56.000Z"
}

{
  "code": "sync_scan_timeout",
  "message": "The file scan is taking longer than expected. You can continue to check the status of this scan using its ID via the status endpoint.",
  "file_scan_id": "019583d8-b2e4-7b8d-9d1f-6f4cb3d0b6f1"
}
{
  "code": "duplicate_external_reference_id",
  "message": "The external reference id already exists for this integration."
}