{ "$schema": "https://json-structure.org/meta/core/v0/#", "$id": "https://raw.githubusercontent.com/api-evangelist/42crunch/refs/heads/main/json-structure/scand-manager-job-spec-structure.json", "name": "JobSpec", "description": "Specification for creating a new conformance scan job", "type": "object", "properties": { "token": { "description": "On-premises scan token issued by the 42Crunch Platform", "type": "string", "pattern": "^(scan_)?[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$", "maxLength": 41, "minLength": 36, "example": "00000000-0000-0000-0000-000000000000" }, "name": { "$ref": "#/components/schemas/JobName" }, "expirationTime": { "description": "Expiration time for the job in seconds (max 7 days)", "type": "int32", "maximum": 604800, "minimum": 1, "example": 3600 }, "platformService": { "description": "Hostname and port for connecting to the 42Crunch Platform", "type": "string", "pattern": "^[^:]+:[0-9]{3,5}$", "maxLength": 128, "minLength": 3, "example": "protection.42crunch.com:8001" }, "scandImage": { "description": "Docker image for the scand-agent container", "type": "string", "pattern": "^\\P{Cc}{1,128}$", "maxLength": 128, "minLength": 1, "example": "42crunch/scand-agent:latest" }, "env": { "description": "Environment variables for scand-agent. Must start with SECURITY_, SCAN42C_, HTTP_PROXY, HTTPS_PROXY, HTTP_PROXY_API, HTTPS_PROXY_API, NO_PROXY, or NO_PROXY_API.", "type": "object", "additionalProperties": { "type": "string", "pattern": "^\\P{Cc}+$", "minLength": 0, "maxLength": 512 }, "example": { "HTTPS_PROXY": "http://proxy.example.com:8080", "HTTPS_PROXY_API": "http://proxy-api.example.com:8080", "SECURITY_FOO": "bar", "SCAN42C_FEATURE_FLAG": "enabled" } } }, "additionalProperties": false, "required": [ "token" ] }