List Active Jobs#

List all customization jobs and their high-level status. This returns job definitions including the model, dataset, training configuration, and overall status.

Tip

To get detailed execution progress (step-by-step status, training metrics like loss/epoch/step), use Get Job Status instead.

Prerequisites#

Before you can list active customization jobs, make sure that you have:

  • Obtained the base URL of your NeMo Platform.

  • Set the NMP_BASE_URL environment variable to your NeMo Platform endpoint

export NMP_BASE_URL="https://your-nmp-base-url"

To List Active Customization Jobs#

Use the SDK to list customization jobs:

import os
from nemo_platform import NeMoPlatform

# Initialize the client
client = NeMoPlatform(
    base_url=os.environ.get("NMP_BASE_URL", "http://localhost:8080"),
    workspace="default",
)

# List all customization jobs
jobs = client.customization.jobs.list(
    workspace="default",
    page=1,
    page_size=10,
    sort="created_at"
)

print(f"Found {len(jobs.data)} jobs")
for job in jobs.data:
    print(f"Job {job.name}: {job.status}")

# List jobs with filters (optional)
# Valid filter fields: name, status, project, workspace, created_at, updated_at
filtered_jobs = client.customization.jobs.list(
    workspace="default",
    filter={
        "status": "active",      # Filter by job status
        "name": "my-sft-job"      # Filter by job name
    },
    sort="-created_at"            # Sort by created_at descending
)

print(f"Found {len(filtered_jobs.data)} jobs")
for job in filtered_jobs.data:
    print(f"Job {job.name}: {job.status}")
Example Response
{
  "data": [
    {
      "id": "platform-job-QtyhRY5ub4t4tTLPY4sTkz",
      "name": "my-sft-job-99da",
      "workspace": "default",
      "created_at": "2026-02-09T22:12:45",
      "updated_at": "2026-02-09T22:12:45",
      "status": "active",
      "status_details": {
        "message": "Job is running"
      },
      "spec": {
        "model": "default/llama-3-2-1b",
        "dataset": "fileset://default/sft-dataset",
        "training": {
          "type": "sft",
          "batch_size": 64,
          "epochs": 2,
          "learning_rate": 5e-05,
          "weight_decay": 0.01,
          "max_seq_length": 2048,
          "parallelism": {
            "num_gpus_per_node": 1,
            "num_nodes": 1,
            "tensor_parallel_size": 1,
            "pipeline_parallel_size": 1,
            "context_parallel_size": 1
          }
        },
        "output": {"name": "customization-407790d32cfb", "type": "model", "fileset": "customization-407790d32cfb"},
        "custom_fields": {}
      }
    }
  ],
  "pagination": {
    "page": 1,
    "page_size": 10,
    "current_page_size": 1,
    "total_pages": 1,
    "total_results": 1
  },
  "sort": "created_at",
  "filter": {},
  "search": {}
}