Skip to main content
This guide walks you through submitting a training job using the Train API.

Prerequisites

Before you begin, ensure you have:
  • A valid Scale account with SGP access
  • Your API key and account ID:
  • A Docker image pushed to the workspace registry (see Custom Images)

Submit a Job

Jobs are submitted to POST /v1/{backend}/jobs. The {backend} is one of vertex-ai, sagemaker, or azure-ml. The job_config structure mirrors each cloud’s native job API.
Response
worker_pool_specs is an array; add more pools for distributed training. command and args are separate arrays.

Job Response

All backends return the same job object shape:
id
string
required
Unique job identifier. Use this to poll status or cancel the job.
status
string
required
Current job state. Transitions through PENDING → IN_PROGRESS → COMPLETED / FAILED / CANCELED / EXPIRED.
cloud_job_identifier
object
The cloud provider’s native job identifier. Shape varies by backend: job_name for Vertex AI and Azure ML, training_job_name for SageMaker.
result
object
Populated on failure. Contains failure_reason with the error message from the cloud provider.

Check Status

Other Endpoints

List jobs:
Cancel a job:
Returns 409 if the job is already in a terminal state.

Accessing Mounts in Your Container

Inside the training container, mounted storage is available via environment variables regardless of cloud:

Next Steps