Skip to main content
PATCH
Continue Scan Upload

Authorizations

CORGEA-TOKEN
string
header
required

API key for authentication API tokens belonging to inactive users are rejected.

Headers

Upload-Offset
integer
required

Current byte offset of the upload

Upload-Length
integer
required

Total size of the file in bytes

Upload-Name
string
required

Name of the file being uploaded

CORGEA-SOURCE
enum<string>
default:api

Identifies the client that triggered the scan. Requests without this header are attributed to the API.

Available options:
api,
cli,
vscode,
vs2022,
intellij
CORGEA-CLI-VERSION
string

Optional CLI version recorded with the scan. Use 1–64 letters, digits, dots, plus signs, or hyphens; invalid values are ignored.

Maximum string length: 64
Pattern: ^[0-9A-Za-z.+-]{1,64}$

Path Parameters

transfer_id
string<uuid>
required

The transfer ID from the initial scan request

Body

multipart/form-data
chunk_data
file
required

The next chunk of data for the scan

project_name
string
branch
string
repo_url
string
sha
string
partial_scan
enum<string>
default:false

Send true for a partial scan or false for a full scan. Omitted values default to a full scan.

Available options:
true,
false
files_to_scan
string

Repository-relative paths encoded as a JSON array string, for example ["src/app.py","src/a,b.py"]. Legacy comma-separated lists are also accepted. Paths must exist in the uploaded ZIP, optionally inside its wrapper folder. An empty list is allowed.

metadata
string

User-supplied scan metadata as a JSON object string, e.g. {"pipeline_url":"https://ci.example/run/123"}. Validated on every chunk request and attached to the scan once the upload completes. Must be a JSON object of at most 16,384 bytes; otherwise the request fails with 400.

dirty
enum<string>

Whether the uploaded worktree is dirty. The CLI sends true or false when it has repo info. Omit the field if dirtiness is unknown.

Available options:
true,
false
scan_configs
string

Comma-separated scan-type tokens applied when the upload completes (base, malicious, policy, secrets, pii, and others). The CLI maps --scan-type blast to base. Omit for server defaults.

target_policies
string

Comma-separated policy IDs applied when the upload completes. Invalid IDs return 400.

incremental_ignore_rules
string

JSON object string with base and current arrays of ignore patterns. When a baseline ignore rule is lifted, include every newly exposed file in incremental_changed_files. If a baseline rule is lifted without matching rule sets, Corgea falls back to a full scan.

incremental_skipped_reason
string

Optional diagnostic reason for uploading without an incremental diff. Use 1–64 lowercase letters, digits, or underscores. Invalid values are ignored; this does not disable server-side incremental scanning.

incremental_skipped_detail
string

Optional diagnostic detail for incremental_skipped_reason, limited to 2,000 characters.

Response

Chunk accepted. Intermediate responses set Upload-Offset. Completing and already-in-progress responses do not.

status
enum<string>
required
Available options:
ok
Example:

"ok"

message
string
required
scan_id
string<uuid>

Present when the last chunk completes and a scan starts.

Example:

"1a5afaa3-72ac-458f-a492-ac40ffc88e76"

project_id
integer

Present with scan_id when a scan starts.