List Results#

List all available results for a completed NeMo Safe Synthesizer job to see what outputs are ready for download.

Prerequisites#

Before you can list job results, make sure that you have:

  • Obtained the base URL of your NeMo Safe Synthesizer service

  • Set the SAFE_SYN_BASE_URL environment variable to your NeMo Safe Synthesizer service endpoint

  • A completed job with available results

export SAFE_SYN_BASE_URL="https://your-safe-synthesizer-service-url"

List All Results for a Job#

Retrieve a list of all result artifacts generated by a specific job.

import os
from nemo_microservices import NeMoMicroservices

# Initialize the client
client = NeMoMicroservices(
    base_url=os.environ['SAFE_SYN_BASE_URL']
)

# List all results for a job
job_id = "job-abc123def456"

try:
    results = client.beta.safe_synthesizer.jobs.results.list(job_id)
    
    print(f"Found {len(results)} results for job {job_id}:")
    for result in results:
        print(f"  - {result.result_name}")
        print(f"    Created: {result.created_at}")
        print(f"    Storage: {result.artifact_storage_type}")
        print(f"    URL: {result.artifact_url}")
        print()
        
except Exception as e:
    print(f"Error listing results: {e}")
# List all results for a job
curl -X GET \
  "${SAFE_SYN_BASE_URL}/v1beta1/safe-synthesizer/jobs/<JOB_ID>/results" \
  -H "Content-Type: application/json"

Example Response:

[
  {
    "result_name": "synthetic_data.csv",
    "job_id": "job-abc123def456",
    "namespace": "default",
    "project": "privacy-project",
    "created_at": "2024-01-15T10:30:00Z",
    "updated_at": "2024-01-15T10:35:00Z",
    "artifact_url": "hf://default/synthetic-results/synthetic_data.csv",
    "artifact_storage_type": "nds"
  },
  {
    "result_name": "evaluation_report.json",
    "job_id": "job-abc123def456", 
    "namespace": "default",
    "project": "privacy-project",
    "created_at": "2024-01-15T10:35:00Z",
    "updated_at": "2024-01-15T10:35:00Z",
    "artifact_url": "hf://default/evaluation-results/evaluation_report.json",
    "artifact_storage_type": "nds"
  }
]

Understanding Result Properties#

Each result in the list contains the following information:

Property

Description

result_name

Unique identifier for this specific result artifact

job_id

ID of the parent job that generated this result

namespace

Storage location for the result

project

Project associated with the job

created_at

Timestamp when the result was first created

updated_at

Timestamp when the result was last modified

artifact_url

Storage location URL for the result artifact

artifact_storage_type

Storage backend type (for example, “NDS” for NeMo Data Store)


Common Result Names#

Depending on your job configuration, you might see results with these common names:

  • synthetic_data.csv - The main synthetic dataset output

  • evaluation_report.json - Quality and privacy evaluation metrics

  • pii_redacted_data.csv - Original data with PII replaced

  • privacy_analysis.pdf - Detailed privacy guarantee report

  • column_mappings.json - Mapping of original to synthetic column names


Error Handling#

Common errors when listing results:

{
  "detail": "Job not found: job-invalid123"
}

Solution: Verify the job ID exists and you have access to it.

{
  "detail": "Job has not completed yet"
}

Solution: Wait for the job to reach completed status before listing results.


Next Steps#

After listing results, you can: