Update a pod
Updates pod configuration. Only provided fields are changed.
Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Path Parameters
Pod identifier
Body
Reusable container configuration shared across templates, pods, and serverless endpoints. Adding a field here automatically propagates to all three resources.
Docker image reference
"runpod/pytorch:2.8.0-py3.11-cuda12.8.1"
Arguments passed to the container entrypoint
""
Container disk in GB (ephemeral, wiped on restart)
x >= 150
Exposed ports, formatted as port/protocol
Environment variables as key-value pairs
Container registry credential ID (for private images)
null
1Storage mounts attached to a pod. At-most-one of persistent or
network may be set today (mutually exclusive, enforced at the
handler with 400 if both are present). The network field is an
array for forward compatibility with eventual multi-network-volume
support, but maxItems is 1 today.
PATCH semantics:
- Omitting
mountsor sending{}leaves the existing mount unchanged. - An explicit
network: []is rejected with 400 (clearing mounts is not supported). - Mount kind is fixed at create — a PATCH that introduces a kind not present at create (persistent on a network pod, network on a persistent pod, or any mount on a previously-mountless pod) is rejected with 400.
- The
volumeIdof a network mount is immutable; a PATCH that names a differentvolumeIdis rejected with 400. - Partial mounts are not supported — every mount entry must
include the full schema (
size+pathfor persistent,volumeId+pathfor network). Missing required fields → 422.
Lock the pod (true) or unlock it (false). Locked pods cannot be stopped or reset.
Enable (true) or disable (false) global networking. Takes effect on the next pod start/restart, not live. Requires an NVIDIA GPU and a global-networking-enabled data center (both enforced upstream). See GET /v2/catalog/datacenters (globalNetwork) for eligible data centers.
Response
OK
Reusable container configuration shared across templates, pods, and serverless endpoints. Adding a field here automatically propagates to all three resources.
Docker image reference
"runpod/pytorch:2.8.0-py3.11-cuda12.8.1"
Arguments passed to the container entrypoint
""
Container disk in GB (ephemeral, wiped on restart)
x >= 150
Exposed ports, formatted as port/protocol
Environment variables as key-value pairs
Container registry credential ID (for private images)
null
"pod_abc123"
"my-training-pod"
Lifecycle status of a pod.
PROVISIONING— pod is being allocatedSTARTING— container is startingRUNNING— container is healthyEXITED— container exited (stopped)ERROR— container is in an unrecoverable error stateTERMINATED— pod has been permanently deleted
PROVISIONING, STARTING, RUNNING, EXITED, ERROR, TERMINATED Valid state transitions for the current status.
State transition to trigger on a pod.
start, stop, restart, terminate Storage mounts attached to a pod. At-most-one of persistent or
network may be set today (mutually exclusive, enforced at the
handler with 400 if both are present). The network field is an
array for forward compatibility with eventual multi-network-volume
support, but maxItems is 1 today.
PATCH semantics:
- Omitting
mountsor sending{}leaves the existing mount unchanged. - An explicit
network: []is rejected with 400 (clearing mounts is not supported). - Mount kind is fixed at create — a PATCH that introduces a kind not present at create (persistent on a network pod, network on a persistent pod, or any mount on a previously-mountless pod) is rejected with 400.
- The
volumeIdof a network mount is immutable; a PATCH that names a differentvolumeIdis rejected with 400. - Partial mounts are not supported — every mount entry must
include the full schema (
size+pathfor persistent,volumeId+pathfor network). Missing required fields → 422.
Cloud tier.
SECURE— RunPod-owned datacenter hardwareCOMMUNITY— community-hosted hardwareALL— eligible for either tier (request-only; responses always report the concrete tier the pod was placed on)
SECURE, COMMUNITY, ALL Data center where the pod is running (assigned by scheduler)
"US-TX-3"
ID of the template this pod was created from
null
Current cost in USD per hour (0.0 when EXITED or TERMINATED)
0.35
Whether the pod is locked (prevents stopping or resetting)
false
Tags attached to this pod.
Live utilization metrics. Null when the pod is not RUNNING.
"2026-03-13T20:00:00Z"
"2026-03-13T20:00:00Z"
Present for GPU pods; omitted from CPU pods.
Present for CPU pods; omitted from GPU pods.