Skip to main content

Artifacts

List Artifacts

Get a paginated list of all artifacts across workspaces.
curl http://localhost:8002/osm/api/artifacts \
  -H "Authorization: Bearer $TOKEN"
With pagination:
curl "http://localhost:8002/osm/api/artifacts?offset=0&limit=50" \
  -H "Authorization: Bearer $TOKEN"
Filter by workspace:
curl "http://localhost:8002/osm/api/artifacts?workspace=example.com" \
  -H "Authorization: Bearer $TOKEN"
Query Parameters:
ParameterTypeDefaultDescription
workspacestring-Filter by workspace name
offsetint0Pagination offset
limitint20Maximum records to return
Response:
{
  "data": [
    {
      "id": "c3d4e5f6-a7b8-9012-cdef-123456789012",
      "run_id": 1,
      "workspace": "example.com",
      "name": "subdomains.txt",
      "artifact_path": "/workspaces/example.com/subdomains.txt",
      "artifact_type": "output",
      "content_type": "txt",
      "size_bytes": 4523,
      "line_count": 150,
      "description": "Discovered subdomains",
      "created_at": "2025-01-15T10:01:45Z"
    },
    {
      "id": "d4e5f6a7-b8c9-0123-def0-234567890123",
      "run_id": 1,
      "workspace": "example.com",
      "name": "nuclei-results.json",
      "artifact_path": "/workspaces/example.com/nuclei-results.json",
      "artifact_type": "output",
      "content_type": "json",
      "size_bytes": 15234,
      "line_count": 45,
      "description": "Nuclei vulnerability scan results",
      "created_at": "2025-01-15T10:15:00Z"
    }
  ],
  "pagination": {
    "total": 100,
    "offset": 0,
    "limit": 20
  }
}

Download Workspace Artifact

Download all artifacts from a workspace as a zip file.
curl http://localhost:8002/osm/api/artifacts/example.com \
  -H "Authorization: Bearer $TOKEN" \
  --output example.com_artifacts.zip
Response:
  • On success: Returns a zip file containing all artifacts
  • Response headers include:
    • Content-Disposition: attachment; filename=<workspace>_artifacts.zip
    • Content-Type: application/zip
Error Response (404):
{
  "error": true,
  "message": "Workspace not found: example.com"
}

Artifact Types

TypeDescription
reportGenerated reports from the workflow’s reports section
state_fileState files like run-state.json, run-execution.log
outputGeneral output files from steps
screenshotScreenshots captured during the scan

Content Types

Detected content types based on file extension:
  • json, jsonl, yaml, html, md, log, pdf, png, txt, zip, folder, unknown