Submit a synchronous file scan
Upload a file for malware scanning and wait for a terminal result within the synchronous polling window of 90 seconds.
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 scan ID. Use the scan ID to continue polling through the GET endpoints.
If webhooks are enabled in the Blazelock Dashboard, webhook events are sent as the scan progresses.
Authorization
bearerAuth API key generated in the Blazelock Dashboard.
Send it in the HTTP Authorization header as Bearer <api-key>.
In: header
Header Parameters
Two-letter ISO language code used for localized human-readable response messages. Supported values:
en= Englishde= German
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.
TypeScript Definitions
Use the request body type in TypeScript.
Request payload for submitting a synchronous file scan.
Response Body
application/json
application/json
application/json
curl -X POST 'https://example.com/file-scans/sync' \ -F 'attributes={"file_name":"invoice.pdf"};type=application/json' \ -F 'file=@invoice.pdf'{
"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",
"findings": []
},
"completed_at": "2026-03-09T12:35:11.000Z",
"scan_duration_ms": 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."
}