Skip to content

Patch a Sweep

PATCH
/apis/nodus.dev/v1/namespaces/{namespace}/sweeps/{name}
curl --request PATCH \
--url https://example.com/apis/nodus.dev/v1/namespaces/example/sweeps/example \
--header 'Content-Type: application/merge-patch+json' \
--data '{}'
namespace
required
string

The project.

name
required
string

The object’s name.

dryRun
string
fieldValidation
string
fieldManager
string
Idempotency-Key
string
If-Match
string
Media type application/merge-patch+json
object
Example generated
{}

OK

Media type application/json

Sweep fans a Job template out over a matrix of GPUs, regions and parameters, and reports cost, wall time and throughput per cell. Parameters reach a Job as NODUS_PARAM_ environment variables. Each cell runs as a Job named -, owned by the Sweep.

object
apiVersion
string
kind
string
metadata
object
annotations
object
key
additional properties
string
creationTimestamp
string
deletionGracePeriodSeconds
integer format: int64
deletionTimestamp
string
finalizers
Array<string>
nullable
generateName
string
generation
integer format: int64
labels
object
key
additional properties
string
managedFields
Array<object>
nullable
object
apiVersion
string
fieldsType
string
fieldsV1
object
key
additional properties
manager
string
operation
string
subresource
string
time
string
name
string
namespace
string
ownerReferences
Array<object>
nullable
object
apiVersion
required
string
blockOwnerDeletion
boolean
controller
boolean
kind
required
string
name
required
string
uid
required
string
resourceVersion
string
selfLink
string
uid
string
spec
required

SweepSpec describes a Sweep. Everything is immutable after create except maxParallel, maxCostUSD (raise only) and state.

object
matrix

SweepMatrix lists the values of each swept dimension. An empty dimension keeps the template’s value.

object
gpu

GPU overrides resources.gpu per cell, at most 16 values, in the same “H100:1” form.

Array<object>
nullable

GPURequest asks for accelerators. A family (H100) matches any of its variants and never another family.

object
count

Count is the GPUs per node: 1, 2, 4 or 8.

integer format: int32
exact

Exact pins the exact variant instead of matching the family.

boolean
interconnect

Interconnect is Any or NVLink.

string
minMemory

MinMemory is the per-GPU memory floor.

string
type

Type lists 1–8 accelerator ids or families from the catalog.

Array<string>
nullable
params

Params maps an environment variable name (upper case, digits and underscores) to its values; each cell gets NODUS_PARAM_. At most 16 names with 64 values each.

object
key
additional properties
Array<string>
nullable
regions

Regions narrows placement.regions to one region per cell; it may narrow, never widen, the template’s.

Array<string>
nullable
maxCostUSD

MaxCostUSD is one cap shared by every cell. Reaching it suspends every running cell with MaxCostReached; raising it resumes them.

string
maxParallel

MaxParallel is how many cells may run at once, 1 to 256; the default is 4.

integer format: int32
repetitions

Repetitions runs every combination this many times, 1 to 64; the default is 1.

integer format: int32
state

State is the desired state: Running (the default), Suspended, or the cancel state. It propagates to the cells.

string
template
required

SweepTemplate is the object every cell creates.

object
kind
required

Kind is the cell kind: Job.

string
spec
required

JobSpec describes a Job. Everything is immutable after create except parallelism, backoffLimit, timeout, maxCostUSD (raise only), recovery.maxAttempts, recovery.checkpoint.interval and retainAfterFinish, ttlSecondsAfterFinished and state.

object
activeDeadlineSeconds

ActiveDeadlineSeconds is accepted as an alias of timeout on write and folded into it.

integer format: int64
args
Array<string>
nullable
backoffLimit

BackoffLimit is how many customer failures (non-zero exits, OOM) across all indexes are retried before the Job fails (0–100).

integer format: int32
command
Array<string>
nullable
completeByTime

CompleteByTime is a finish-by hint for placement and checkpoint cadence. It never stops the Job.

string
completions

Completions is how many indexes must succeed (1–10000). Each index gets NODUS_INDEX and JOB_COMPLETION_INDEX.

integer format: int32
connections
Array<string>
nullable
distributed

Distributed runs the Job as a gang of nodes that start together and restart together (Beta).

object
gpusPerNode

GPUsPerNode is 1, 2, 4 or 8 and equals resources.gpu.count when both are set.

integer format: int32
launcher

Launcher is Plain (env contract only), Torchrun, Ray, Verl, Accelerate or Deepspeed.

string
maxAssemblyRetries

MaxAssemblyRetries is how many times a timed-out assembly is re-placed (0–5, default 2).

integer format: int32
network

Network is Colocated (one provider and region), Regional (one region class) or Global.

string
nodes

Nodes is the gang size (2–16; the beta caps it at 8). Exactly one of nodes and totalGPUs.

integer format: int32
startupTimeout

StartupTimeout is the gang assembly budget (5m–60m, default 15m).

string
totalGPUs

TotalGPUs is resolved into status.topology at admission (2–64).

integer format: int32
transport

Transport is Direct (private or direct paths only) or Auto (relayed paths allowed).

string
env
Array<object>
nullable

EnvVar is one environment variable: a literal value or a Secret key.

object
name
required

Name matches ^[A-Za-z_][A-Za-z0-9_]*$.

string
value

Value is the literal value.

string
valueFrom

EnvVarSource names where an env value comes from.

object
secretKeyRef

SecretKeySelector selects one key of a Secret.

object
key
required

Key is the key within it.

string
name
required

Name is the Secret.

string
expectedDuration

ExpectedDuration is the declared runtime the estimate uses first.

string
image
string
imagePullSecrets
Array<string>
nullable
imageRef
string
initCommand

InitCommand is a preflight run before the command.

object
command
required

Command is the argv.

Array<string>
nullable
timeout

Timeout is at most 30m.

string
inputs

Inputs are materialized read-only under /nodus/inputs/ before the command starts (at most 8).

Array<object>
nullable

JobInput is one input: exactly one of volume, output, bucket, url and fromWorkspace. It is mounted at /nodus/inputs/, with the path in NODUS_INPUT_, and materialized inside the billed time.

object
bucket

BucketInput is an object in customer storage.

object
connection
required

Connection is an S3 Connection that can read it.

string
sha256

SHA256 is checked at end of stream when set.

string
uri
required

URI is s3://bucket/key.

string
fromStage

StageInput names an output of a Pipeline stage.

object
output
required

Output is the output name.

string
stage
required

Stage is the producing stage.

string
fromWorkspace

WorkspaceInput mounts a Workspace home.

object
name
required

Name is the Workspace.

string
path

Path is a subdirectory of the home.

string
name
required

Name matches ^[A-Za-z][A-Za-z0-9_]{0,63}$ and is unique among inputs.

string
output

OutputInput names a committed output of another Job.

object
index

Index selects an index of an Indexed Job (default 0).

integer format: int32
job
required

Job is the producing Job.

string
name
required

Name is the output.

string
url

URLInput is a file downloaded over HTTPS.

object
sha256
required

SHA256 is the expected digest.

string
url
required

URL is https:// only.

string
volume

VolumeInput names a Volume revision.

object
name
required

Name is the Volume.

string
revision

Revision pins a revision.

integer format: int64
maxCostUSD

MaxCostUSD caps what the Job may spend. Reaching it suspends the Job; it can only be raised.

string
network

Network sets egress for the container.

object
egress

Egress is the outbound network policy.

object
allow

Allow lists DNS names or *.suffix patterns (AllowList only; at most 128).

Array<string>
nullable
policy

Policy is Deny, AllowList or Open.

string
presets

Presets add curated host lists such as python-packages or huggingface.

Array<string>
nullable
outputs

Outputs are files or directories collected when an index succeeds (at most 32). Everything under /nodus/outputs is also collected as the output named “outputs”.

Array<object>
nullable

JobOutput is a declared output.

object
fromRanks

FromRanks is Zero (rank 0 only) or All (every rank under rank-/) for gang Jobs.

string
name
required

Name matches ^[a-z0-9._-]{1,64}$; the nodus. prefix is reserved.

string
path
required

Path is an absolute file or directory path; directories are archived as tar.zst.

string
sink

OutputSink loads an output into a customer database table.

object
connection
required

Connection is a Postgres, Neon or Supabase Connection.

string
mode

Mode is Append (default) or Replace.

string
table
required

Table is the destination table.

string
parallelism

Parallelism is how many indexes run at once (1 to min(completions, 256)).

integer format: int32
placement

Placement constrains where work may run.

object
dedicated

Dedicated is reserved; only true is accepted.

boolean
interruptible

Interruptible is Never, Allow (the scheduler decides by expected cost) or Prefer.

string
maxRateUSDPerHour

MaxRateUSDPerHour filters out offerings above this customer rate.

string
offerings

Offerings restricts placement to these Offerings.

Array<string>
nullable
pool

Pool is a BYOC Pool in the project.

string
profile

Profile is Balanced, Cost or Speed.

string
queueTimeout

QueueTimeout is how long the Job may wait for capacity before failing with CapacityUnavailable (default 24h; 0s waits forever).

string
regions

Regions are region classes (us, eu, …); empty means any.

Array<string>
nullable
recovery

Recovery says how progress survives lost capacity.

object
checkpoint

CheckpointPolicy configures checkpoints.

object
format

Format is Snapshot, or Dcp for torch.distributed.checkpoint (the default for distributed Jobs).

string
integration

Integration is Auto, None or HFTrainer.

string
interval

Interval is auto or a duration from 1m to 6h.

string
maxSize

MaxSize is checked before upload (default 1Ti, at most 2Ti).

string
paths

Paths are saved together in one checkpoint (at most 64; default /nodus/state).

Array<string>
nullable
retainAfterFinish

RetainAfterFinish keeps checkpoints this long after the Job finishes (default 168h).

string
continuity

Continuity is Checkpointed (restore the latest checkpoint), Restartable (progress cursor) or Ephemeral.

string
maxAttempts

MaxAttempts is how many infrastructure replacements each index may use (1–32; gangs count restarts).

integer format: int32
minProgressDuration

MinProgressDuration is the run time that counts as progress (default 2m).

string
onInterruption

OnInterruption is Resume, or Fail to fail instead of recovering or suspending.

string
resources

Resources are capacity floors. For GPU work the offering’s host shape applies if larger.

object
cpu

CPU is the vCPU floor.

string
disk

Disk is the ephemeral disk floor.

string
gpu

GPURequest asks for accelerators. A family (H100) matches any of its variants and never another family.

object
count

Count is the GPUs per node: 1, 2, 4 or 8.

integer format: int32
exact

Exact pins the exact variant instead of matching the family.

boolean
interconnect

Interconnect is Any or NVLink.

string
minMemory

MinMemory is the per-GPU memory floor.

string
type

Type lists 1–8 accelerator ids or families from the catalog.

Array<string>
nullable
memory

Memory is the host memory floor.

string
nodes

Nodes above 1 is shorthand for spec.distributed.nodes and is stored in that form.

integer format: int32
scaledownWindow

ScaledownWindow keeps the capacity warm for reuse this long after the Job ends (0s–20m).

string
secrets
Array<object>
nullable

SecretMount mounts one Secret, optionally pinned to a version. The bare name is accepted on write.

object
name
required

Name is the Secret.

string
version

Version pins a version; unset pins the latest at admission.

integer format: int32
serviceAccountName
string
sidecars
Array<object>
nullable

Sidecar is a helper container with native-sidecar semantics.

object
command
required

Command is the sidecar’s argv.

Array<string>
nullable
env

Env adds environment variables.

Array<object>
nullable

EnvVar is one environment variable: a literal value or a Secret key.

object
name
required

Name matches ^[A-Za-z_][A-Za-z0-9_]*$.

string
value

Value is the literal value.

string
valueFrom

EnvVarSource names where an env value comes from.

object
secretKeyRef

SecretKeySelector selects one key of a Secret.

object
key
required

Key is the key within it.

string
name
required

Name is the Secret.

string
image

Image defaults to the Job’s image.

string
name
required

Name is unique within the Job.

string
startupTimeout

StartupTimeout bounds how long the sidecar may take to become ready.

string
source

Source is the code for the container: exactly one of git and blob.

object
blob

Blob is sha256: of an archive uploaded through /blobs/v1.

string
git

GitSource is a repository checkout.

object
path

Path is the checkout path (default workingDir).

string
ref

Ref is a branch, tag or commit.

string
repo
required

Repo is owner/name or an https:// URL.

string
state

State is the desired state: Running (the default), Suspended, or the cancel state that stops the Job for good.

string
timeout

Timeout is the wall-clock limit counted from the first Provisioning, excluding time spent Suspended. The Job then fails with DeadlineExceeded.

string
ttlSecondsAfterFinished

TTLSecondsAfterFinished deletes the Job, its outputs and checkpoints this long after it finishes.

integer format: int32
volumes
Array<object>
nullable

VolumeMount mounts a Volume.

object
mountPath
required

MountPath is the absolute mount point; system paths are refused.

string
readOnly

ReadOnly mounts it read-only.

boolean
revision

Revision pins a revision; only with readOnly.

integer format: int64
volume
required

Volume names the Volume.

string
workingDir
string
status

SweepStatus is what Nodus observed about a Sweep.

object
best

SweepBest points at the best succeeded cells.

object
byCost

ByCost is the index of the cheapest succeeded cell.

integer format: int32
byThroughput

ByThroughput is the index of the succeeded cell with the most units per second.

integer format: int32
cells

Cells has one entry per cell, in index order.

Array<object>
nullable

SweepCell is one cell of the matrix and what it measured.

object
costUSD

CostUSD is what the cell has cost.

string
gpu

GPU is the cell’s GPU request, when the matrix sweeps GPUs.

string
index
required

Index is the cell’s position; the cell Job is named -.

integer format: int32
object

Object is the cell Job’s name.

string
params

Params are the cell’s parameter values.

object
key
additional properties
string
phase

Phase is the cell Job’s phase; Pending before the Job exists.

string
region

Region is the cell’s region, when the matrix sweeps regions.

string
repetition
required

Repetition counts from 0.

integer format: int32
unitsPerSecond

UnitsPerSecond is the throughput the program reported, as a decimal string.

string
wallSeconds

WallSeconds is the cell’s wall time from start to completion.

integer format: int64
completionTime

CompletionTime is when the Sweep reached a terminal phase.

string
conditions

Conditions are the Sweep’s conditions.

Array<object>
nullable
object
lastTransitionTime
required
string
message
required
string
observedGeneration
integer format: int64
reason
required
string
status
required
string
type
required
string
cost

Cost is status.cost on every kind that spends money. It is a display copy of the ledger: amounts are decimal USD strings, and nothing is charged from these fields.

object
bySegment

CostSegments splits a charge by billing segment.

object
bootUSD

BootUSD is the charge from the start of billing until the program started.

string
coveredByNodus

CoveredByNodus lists the segments (Boot, Running, Restore, Teardown) with time Nodus paid for instead of charging it, such as the start and teardown of a run that failed because of Nodus.

Array<string>
nullable
restoreUSD

RestoreUSD is the charge for bringing a replacement up after capacity was lost.

string
runningUSD

RunningUSD is the charge while the program ran.

string
teardownUSD

TeardownUSD is the charge from stop until deletion was confirmed, with the billing increment.

string
final

Final is true once the final charge has posted.

boolean
fundedUntilTime

FundedUntilTime is when the current holds stop paying for the object.

string
heldUSD

HeldUSD is what is currently held for it.

string
limitUSD

LimitUSD is the object’s maxCostUSD, if it has one.

string
rateUSDPerHour

RateUSDPerHour is the sum of the hourly rates of its capacity that is still billing.

string
totalUSD

TotalUSD is what has been charged for this object so far.

string
estimate

Estimate is returned in status.estimate by a dry-run (?dryRun=All) and on create for every compute kind (ADR-031). Amounts are decimal USD strings; the ETag of the dry-run response binds a later create to it.

object
assemblyBoundUSD

AssemblyBoundUSD is the most a multi-node Job can cost if its members never assemble.

string
blockingReasons

BlockingReasons say why a real create would fail now, with the amounts and a fix.

Array<object>
nullable

BlockingReason says why a create would fail now.

object
code
required

Code is the error code the create would return, for example InsufficientCredits.

string
fix

Fix says what to do.

string
message

Message states the reason with the amounts involved.

string
concurrentHoldUSD

ConcurrentHoldUSD is the total of the holds for every slot that starts at once.

string
costUSD

USDBand is a median and a 90th-percentile amount in USD.

object
p50

P50 is the median amount.

string
p90

P90 is the 90th-percentile amount.

string
gangHoldUSD

GangHoldUSD is the total of the member holds of a multi-node Job.

string
holdUSD

HoldUSD is the first hold that must fit your balance, every matching Budget and the object’s own cap.

string
minimumChargeUSD

MinimumChargeUSD is the billing increment rounding charged once per allocation.

string
overheadUSD

USDBand is a median and a 90th-percentile amount in USD.

object
p50

P50 is the median amount.

string
p90

P90 is the 90th-percentile amount.

string
placementPreview

PlacementPreview is the customer-safe description of the capacity a create would use.

object
explain

Explain is the scheduler’s explanation, the same shape as Attempt status.placement.explain.

interruptible

Interruptible reports whether the capacity can be reclaimed.

boolean
offering

Offering is the offering id, for example h100-sxm-80g-x8-us.

string
regionClass

RegionClass is the region class of the offering.

string
warmReuse

WarmReuse reports whether warm capacity would be reused.

boolean
pricebookVersion

PricebookVersion is the price book the estimate used.

string
rateUSDPerHour

RateUSDPerHour is the hourly rate of the chosen capacity.

string
startup

StartupEstimate is the expected time to start.

object
cold

DurationBand is a median and a 90th-percentile duration, as Go duration strings.

object
p50

P50 is the median duration.

string
p90

P90 is the 90th-percentile duration.

string
warm

DurationBand is a median and a 90th-percentile duration, as Go duration strings.

object
p50

P50 is the median duration.

string
p90

P90 is the 90th-percentile duration.

string
topology

Topology is the resolved multi-node topology of a gang Job.

validUntil

ValidUntil is when the prices this estimate used stop being current. A create bound by If-Match is admitted after it too, and never placed above rateUSDPerHour plus 10 %.

string
warnings

Warnings are non-blocking notes, for example ColdStart or InterruptibleSelected.

Array<object>
nullable

EstimateWarning is a non-blocking note on an estimate.

object
code
required

Code is the CamelCase warning code.

string
message

Message explains the warning.

string
message

Message explains the phase in a sentence.

string
observedGeneration

ObservedGeneration is the spec generation this status reflects.

integer format: int64
phase

Phase is the lifecycle phase, from the run-to-completion vocabulary.

string
reason

Reason is the machine-readable reason for the phase, for example CellsFailed or MaxCostReached.

string
startTime

StartTime is when the first cell Job was created.

string
Example generated
{
"apiVersion": "example",
"kind": "example",
"metadata": {
"annotations": {
"additionalProperty": "example"
},
"creationTimestamp": "example",
"deletionGracePeriodSeconds": 1,
"deletionTimestamp": "example",
"finalizers": [
"example"
],
"generateName": "example",
"generation": 1,
"labels": {
"additionalProperty": "example"
},
"managedFields": [
{
"apiVersion": "example",
"fieldsType": "example",
"fieldsV1": {
"additionalProperty": "example"
},
"manager": "example",
"operation": "example",
"subresource": "example",
"time": "example"
}
],
"name": "example",
"namespace": "example",
"ownerReferences": [
{
"apiVersion": "example",
"blockOwnerDeletion": true,
"controller": true,
"kind": "example",
"name": "example",
"uid": "example"
}
],
"resourceVersion": "example",
"selfLink": "example",
"uid": "example"
},
"spec": {
"matrix": {
"gpu": [
{
"count": 1,
"exact": true,
"interconnect": "example",
"minMemory": "example",
"type": [
"example"
]
}
],
"params": {
"additionalProperty": [
"example"
]
},
"regions": [
"example"
]
},
"maxCostUSD": "example",
"maxParallel": 1,
"repetitions": 1,
"state": "example",
"template": {
"kind": "example",
"spec": {
"activeDeadlineSeconds": 1,
"args": [
"example"
],
"backoffLimit": 1,
"command": [
"example"
],
"completeByTime": "example",
"completions": 1,
"connections": [
"example"
],
"distributed": {
"gpusPerNode": 1,
"launcher": "example",
"maxAssemblyRetries": 1,
"network": "example",
"nodes": 1,
"startupTimeout": "example",
"totalGPUs": 1,
"transport": "example"
},
"env": [
{
"name": "example",
"value": "example",
"valueFrom": {
"secretKeyRef": {
"key": "example",
"name": "example"
}
}
}
],
"expectedDuration": "example",
"image": "example",
"imagePullSecrets": [
"example"
],
"imageRef": "example",
"initCommand": {
"command": [
"example"
],
"timeout": "example"
},
"inputs": [
{
"bucket": {
"connection": "example",
"sha256": "example",
"uri": "example"
},
"fromStage": {
"output": "example",
"stage": "example"
},
"fromWorkspace": {
"name": "example",
"path": "example"
},
"name": "example",
"output": {
"index": 1,
"job": "example",
"name": "example"
},
"url": {
"sha256": "example",
"url": "example"
},
"volume": {
"name": "example",
"revision": 1
}
}
],
"maxCostUSD": "example",
"network": {
"egress": {
"allow": [
"example"
],
"policy": "example",
"presets": [
"example"
]
}
},
"outputs": [
{
"fromRanks": "example",
"name": "example",
"path": "example",
"sink": {
"connection": "example",
"mode": "example",
"table": "example"
}
}
],
"parallelism": 1,
"placement": {
"dedicated": true,
"interruptible": "example",
"maxRateUSDPerHour": "example",
"offerings": [
"example"
],
"pool": "example",
"profile": "example",
"queueTimeout": "example",
"regions": [
"example"
]
},
"recovery": {
"checkpoint": {
"format": "example",
"integration": "example",
"interval": "example",
"maxSize": "example",
"paths": [
"example"
],
"retainAfterFinish": "example"
},
"continuity": "example",
"maxAttempts": 1,
"minProgressDuration": "example",
"onInterruption": "example"
},
"resources": {
"cpu": "example",
"disk": "example",
"gpu": {
"count": 1,
"exact": true,
"interconnect": "example",
"minMemory": "example",
"type": [
"example"
]
},
"memory": "example",
"nodes": 1
},
"scaledownWindow": "example",
"secrets": [
{
"name": "example",
"version": 1
}
],
"serviceAccountName": "example",
"sidecars": [
{
"command": [
"example"
],
"env": [
{
"name": "example",
"value": "example",
"valueFrom": {
"secretKeyRef": {
"key": "example",
"name": "example"
}
}
}
],
"image": "example",
"name": "example",
"startupTimeout": "example"
}
],
"source": {
"blob": "example",
"git": {
"path": "example",
"ref": "example",
"repo": "example"
}
},
"state": "example",
"timeout": "example",
"ttlSecondsAfterFinished": 1,
"volumes": [
{
"mountPath": "example",
"readOnly": true,
"revision": 1,
"volume": "example"
}
],
"workingDir": "example"
}
}
},
"status": {
"best": {
"byCost": 1,
"byThroughput": 1
},
"cells": [
{
"costUSD": "example",
"gpu": "example",
"index": 1,
"object": "example",
"params": {
"additionalProperty": "example"
},
"phase": "example",
"region": "example",
"repetition": 1,
"unitsPerSecond": "example",
"wallSeconds": 1
}
],
"completionTime": "example",
"conditions": [
{
"lastTransitionTime": "example",
"message": "example",
"observedGeneration": 1,
"reason": "example",
"status": "example",
"type": "example"
}
],
"cost": {
"bySegment": {
"bootUSD": "example",
"coveredByNodus": [
"example"
],
"restoreUSD": "example",
"runningUSD": "example",
"teardownUSD": "example"
},
"final": true,
"fundedUntilTime": "example",
"heldUSD": "example",
"limitUSD": "example",
"rateUSDPerHour": "example",
"totalUSD": "example"
},
"estimate": {
"assemblyBoundUSD": "example",
"blockingReasons": [
{
"code": "example",
"fix": "example",
"message": "example"
}
],
"concurrentHoldUSD": "example",
"costUSD": {
"p50": "example",
"p90": "example"
},
"gangHoldUSD": "example",
"holdUSD": "example",
"minimumChargeUSD": "example",
"overheadUSD": {
"p50": "example",
"p90": "example"
},
"placementPreview": {
"explain": "example",
"interruptible": true,
"offering": "example",
"regionClass": "example",
"warmReuse": true
},
"pricebookVersion": "example",
"rateUSDPerHour": "example",
"startup": {
"cold": {
"p50": "example",
"p90": "example"
},
"warm": {
"p50": "example",
"p90": "example"
}
},
"topology": "example",
"validUntil": "example",
"warnings": [
{
"code": "example",
"message": "example"
}
]
},
"message": "example",
"observedGeneration": 1,
"phase": "example",
"reason": "example",
"startTime": "example"
}
}

An error: a metav1.Status whose reason is a registered code.

Media type application/json

Status is the error body of every API response: a Kubernetes metav1.Status (so kubectl and client-go understand it) plus three top-level extensions that those clients ignore (ADR-028).

object
apiVersion
string
code
integer format: int32
details
object
causes
Array<object>
nullable
object
field
string
message
string
reason
string
group
string
kind
string
name
string
retryAfterSeconds
integer format: int32
uid
string
docs

Docs is the URL of the code’s docs page.

string
fix

Fix says what to do next, for example a CLI command or the field to change.

string
kind
string
message
string
metadata
object
continue
string
remainingItemCount
integer format: int64
resourceVersion
string
selfLink
string
shardInfo
object
selector
required
string
reason
string
requestId

RequestID identifies the request in logs and support tickets.

string
status
string
Example generated
{
"apiVersion": "example",
"code": 1,
"details": {
"causes": [
{
"field": "example",
"message": "example",
"reason": "example"
}
],
"group": "example",
"kind": "example",
"name": "example",
"retryAfterSeconds": 1,
"uid": "example"
},
"docs": "example",
"fix": "example",
"kind": "example",
"message": "example",
"metadata": {
"continue": "example",
"remainingItemCount": 1,
"resourceVersion": "example",
"selfLink": "example",
"shardInfo": {
"selector": "example"
}
},
"reason": "example",
"requestId": "example",
"status": "example"
}