felix

Get Training Job Billing

Get the billing outcome for a specific training job, by job ID.

Closes the API gap in ENG-6131: reports whether a job was billed and, if so, for how much and how long, so a billing-correctness fix like ENG-6068 can be verified live without direct database access. Read visibility matches get_training_job and the other training-jobs/{job_id} read routes.

get/felix/training-jobs/{job_id}/billing

Path parameters

job_idstring required

Response

Successful Response

job_idstring required
statusstring required
started_atstring nullable

When the job was dispatched to Modal (spawn / queue time).

compute_started_atstring nullable

When the training container actually began executing (ENG-6068). Distinct from started_at. FAILED/CANCELLED jobs bill only when this is set, so a null value here explains why billed=false.

completed_atstring nullable
billedboolean required

Whether a billing request row exists for this job.

request_idstring nullable

The requests.id row this job was billed against, if billed.

charged_usdstring nullable

Selling price actually charged for this job's GPU time.

gpu_minutesstring nullable

Billed GPU minutes, derived from the billed request's duration_ms.

billed_atstring nullable

When the billing request row was created.

Changes