status.state field returned by the CLI and REST API.
Endpoint statuses
Job statuses
Typical transitions
When an endpoint starts, it moves through the following statuses:PROVISIONING → STARTING → IMAGE_PULLING → RUNNING
When you stop and then start an endpoint again:
RUNNING → STOPPING → STOPPED → STARTING → IMAGE_PULLING → RUNNING
When a job runs to completion:
PROVISIONING → STARTING → IMAGE_PULLING → RUNNING → COMPLETED
When you cancel a running job:
RUNNING → CANCELLING → CANCELLED
IMAGE_PULLING can be quick enough that the status never surfaces.
Failed and errored workloads
TheFAILED and ERROR statuses indicate different kinds of problems:
FAILEDapplies to jobs only and means the job did not complete successfully, for example, because of an error in your code, an incorrect entrypoint, a missing dependency in the image, or an exceeded timeout.ERRORmeans Serverless AI could not run the workload. For jobs, this indicates an internal Serverless AI error rather than a problem with your workload. Endpoints have noFAILEDstatus, so theirERRORcovers workload problems as well, such as a container that could not start.
status.state_details field in the CLI, before you retry. Its code and message name the cause:
StartFailed: A container that could not startContainerFailed: A workload that exited with a non-zero codeTimeoutExceeded: A job that ran out of timeNotEnoughResources: No capacity for the requested platform and preset
Provisioning timeout
An endpoint or job waits inPROVISIONING until compute capacity becomes available. If it does not become available within 30 minutes, the resource reports ERROR with the NotEnoughResources code. Delete the resource and create it again with a different platform or preset.