---
title: "Upload a runtime validation local artifact"
method: POST
path: "/api/v2/runtimeValidation/uploadLocalArtifact"
tags: ["Runtime Validation"]
---

# Upload a runtime validation local artifact

`POST /api/v2/runtimeValidation/uploadLocalArtifact`

## Request

- Base URL: `https://zeropath.com`
- URL: `https://zeropath.com/api/v2/runtimeValidation/uploadLocalArtifact`
- Auth: API key in header `X-ZeroPath-API-Token-Id` and API key in header `X-ZeroPath-API-Token-Secret`

Upload a compiled local application artifact in base64 chunks for a LOCAL_ARTIFACT profile. Supported artifacts are extensionless executables and .zip, .tar, .tar.gz, .tgz, .exe, or .elf files. The artifact must target Linux x86_64/amd64 and will be tested inside the Runtime Validation gVisor container. The first chunk returns a fileId; include that fileId on subsequent chunks.

## Request body

- RuntimeValidationUploadLocalArtifactRequest
  - `organizationId` string
  - `profileId` string, required
  - `filename` string, required: Artifact filename. Supported inputs are extensionless executables or files ending in .zip, .tar, .tar.gz, .tgz, .exe, or .elf.
  - `contentType` string
  - `byteSize` integer, required
  - `chunk` string, required: Base64-encoded artifact chunk.
  - `chunkIndex` integer, required
  - `totalChunks` integer, required
  - `fileId` string, uuid: Upload id returned by the first chunk. Omit for chunkIndex 0 and include for subsequent chunks.

## Response `200`

Local artifact upload progress or updated profile readiness

- union
  - object
    - `fileId` string, uuid, required
    - `complete` false, required
    - `maxBytes` integer, required
    - `supportedRuntime` RuntimeValidationSupportedLocalArtifactRuntime, required: Runtime environment used for uploaded local artifacts. Only Linux x86_64/amd64 artifacts are supported.
      - `os` 'linux', required
      - `architecture` 'x86_64', required
      - `container` string, required
  - object
    - `fileId` string, uuid, required
    - `complete` true, required
    - `profileId` string, required
    - `status` 'NOT_ANALYZED' | 'NOT_TESTABLE' | 'NEEDS_INPUT' | 'READY' | 'ERROR', required: Persistent Runtime Validation readiness status for an application profile. READY profiles can be validated against eligible full scans.
    - `targetMode` 'REMOTE_CONNECTIVITY' | 'LOCAL_ARTIFACT' | 'SOURCE_BUILD', required: Runtime target mode for the application profile. LOCAL_ARTIFACT profiles require an uploaded Linux x86_64/amd64 compiled artifact before validation can start. SOURCE_BUILD profiles are built and run from source inside the isolated validation pod, so no deployed target or uploaded artifact is required.
    - `inputSummary` RuntimeValidationInputSummary, required
      - `required` integer, required
      - `provided` integer, required
      - `missing` integer, required
    - `localArtifact` RuntimeValidationLocalArtifactSummary, required
      - `id` string, required
      - `originalFilename` string, required
      - `contentType` string, nullable, required
      - `byteSize` integer, required
      - `sha256` string, required
      - `uploadedByUserId` string, nullable, required
      - `uploadedAt` string, date-time, required
      - `expiresAt` string, date-time, nullable, required
      - `expired` boolean, required
      - `supportedRuntime` RuntimeValidationSupportedLocalArtifactRuntime, required: Runtime environment used for uploaded local artifacts. Only Linux x86_64/amd64 artifacts are supported.
        - `os` 'linux', required
        - `architecture` 'x86_64', required
        - `container` string, required
    - `supportedRuntime` RuntimeValidationSupportedLocalArtifactRuntime, required: Runtime environment used for uploaded local artifacts. Only Linux x86_64/amd64 artifacts are supported.
      - `os` 'linux', required
      - `architecture` 'x86_64', required
      - `container` string, required

## Other responses

- `400`: Error Response
- `401`: Error Response
- `403`: Error Response
- `404`: Error Response
- `409`: Error Response
- `412`: Error Response

---

[API](https://skmtc.dev/zeropath/apis/zeropath-api.md) - [All operations](https://skmtc.dev/zeropath/apis/zeropath-api/llms.txt) - [OpenAPI document](https://skmtc.dev/zeropath/apis/zeropath-api/revisions/126e9c80ba0d?raw)
