# Error codes

> One page per API error code, with its HTTP status, what it means and how to fix it.

Source: https://nodus-platform-site.pages.dev/docs/reference/errors/
Build revision: 211ad9f836655b1c3a2668c4693e442471f28614

Every API error is a Kubernetes-style `Status` object. `reason` is a stable code, `code` is the HTTP status, and three extra fields tell you what to do next:

```json
{
  "kind": "Status",
  "apiVersion": "v1",
  "status": "Failure",
  "reason": "InsufficientCredits",
  "code": 402,
  "message": "job \"train-a\" needs a $3.20 hold to start (released when it ends); available $1.10",
  "fix": "nodus billing top-up 20, or lower spec.maxCostUSD",
  "docs": "https://nodus-compute.ai/docs/reference/errors/insufficient-credits",
  "requestId": "req_01j9…"
}
```

Include the `requestId` when you contact support. The `docs` link is the code’s page below, named after the code in lowercase words (`InsufficientCredits` is `insufficient-credits`).

[AdmissionsPaused ](https://nodus-platform-site.pages.dev/docs/reference/errors/admissions-paused/)Operators paused admissions for this kind; existing objects keep running.

[AgentGroupClosed ](https://nodus-platform-site.pages.dev/docs/reference/errors/agent-group-closed/)A sealed, canceled, finished or deleting AgentGroup admits no new member runs.

[AgentGroupFull ](https://nodus-platform-site.pages.dev/docs/reference/errors/agent-group-full/)An AgentGroup admits at most spec.limits.maxPending unfinished member runs.

[AgentRunFinished ](https://nodus-platform-site.pages.dev/docs/reference/errors/agent-run-finished/)A run in a terminal phase (Succeeded, Failed or canceled) no longer reads its inbox.

[AgentStopped ](https://nodus-platform-site.pages.dev/docs/reference/errors/agent-stopped/)An Agent in the Stopped state refuses new runs; runs already created are not affected.

[AlreadyExists ](https://nodus-platform-site.pages.dev/docs/reference/errors/already-exists/)A create by name found an object with that name whose spec differs; an identical create returns the object.

[ArrearsOutstanding ](https://nodus-platform-site.pages.dev/docs/reference/errors/arrears-outstanding/)Charges that the org's credits could not cover are unpaid; they block new work until they are settled.

[BadRequest ](https://nodus-platform-site.pages.dev/docs/reference/errors/bad-request/)The request is malformed: a query parameter, selector or body could not be parsed.

[BudgetExceeded ](https://nodus-platform-site.pages.dev/docs/reference/errors/budget-exceeded/)A Block budget or a maxCostUSD cap that applies to the object has less room than the action's hold.

[CapacityUnavailable ](https://nodus-platform-site.pages.dev/docs/reference/errors/capacity-unavailable/)No offering that meets the requirements has capacity at the moment.

[CloudAccountNotVerified ](https://nodus-platform-site.pages.dev/docs/reference/errors/cloud-account-not-verified/)Nodus reads inventory only after it has verified the account's read-only access.

[Conflict ](https://nodus-platform-site.pages.dev/docs/reference/errors/conflict/)The object changed after the caller read it (the resourceVersion is stale).

[ConnectionNotReady ](https://nodus-platform-site.pages.dev/docs/reference/errors/connection-not-ready/)A Connection is usable once a verification passed.

[EncryptionFailed ](https://nodus-platform-site.pages.dev/docs/reference/errors/encryption-failed/)The org's encryption key was unavailable; nothing was stored.

[EnrollmentTokenInvalid ](https://nodus-platform-site.pages.dev/docs/reference/errors/enrollment-token-invalid/)An enrollment token works once, for 24 hours, for the pool it was created for.

[Expired ](https://nodus-platform-site.pages.dev/docs/reference/errors/expired/)The watch position or list continue token is older than the 24-hour change history.

[FieldImmutable ](https://nodus-platform-site.pages.dev/docs/reference/errors/field-immutable/)The update changes a spec field that is immutable after create; the causes list each changed field.

[FileTooLarge ](https://nodus-platform-site.pages.dev/docs/reference/errors/file-too-large/)A file request carries at most 64 MiB; larger data does not go through the files API.

[Forbidden ](https://nodus-platform-site.pages.dev/docs/reference/errors/forbidden/)The credential is valid but lacks the scope or project access the operation needs.

[FunctionCallBatchTooLarge ](https://nodus-platform-site.pages.dev/docs/reference/errors/function-call-batch-too-large/)A batch create takes at most 1,000 calls and 8 MiB.

[FunctionNotFound ](https://nodus-platform-site.pages.dev/docs/reference/errors/function-not-found/)The Function does not exist in the project, or it was deleted since the call was prepared.

[IdempotencyKeyReused ](https://nodus-platform-site.pages.dev/docs/reference/errors/idempotency-key-reused/)The Idempotency-Key was used in the last 24 hours with a different request body.

[ImageBuildUnavailable ](https://nodus-platform-site.pages.dev/docs/reference/errors/image-build-unavailable/)This deployment cannot build image steps, Dockerfiles or Sandbox snapshots; prebuilt registry images remain supported.

[ImageNotFound ](https://nodus-platform-site.pages.dev/docs/reference/errors/image-not-found/)The tag or digest does not exist in the registry, or the pull credentials cannot see it.

[ImageNotReady ](https://nodus-platform-site.pages.dev/docs/reference/errors/image-not-ready/)An imageRef runs the digest the Image built; the Image has none yet.

[ImagePullFailed ](https://nodus-platform-site.pages.dev/docs/reference/errors/image-pull-failed/)The registry refused the credentials or was unavailable while pinning the image to a digest.

[InsufficientCredits ](https://nodus-platform-site.pages.dev/docs/reference/errors/insufficient-credits/)The org's available credits do not cover the hold that the action reserves before it starts.

[InternalError ](https://nodus-platform-site.pages.dev/docs/reference/errors/internal-error/)The server hit an unexpected failure; the request id finds it in the logs.

[Invalid ](https://nodus-platform-site.pages.dev/docs/reference/errors/invalid/)The object fails strict decoding or validation; \`details.causes\` lists every field and reason.

[MethodNotAllowed ](https://nodus-platform-site.pages.dev/docs/reference/errors/method-not-allowed/)The resource does not support this verb (for example, a read-only kind).

[NoSSHKey ](https://nodus-platform-site.pages.dev/docs/reference/errors/no-ssh-key/)The Workspace accepts only the SSHKeys named in spec.sshKeys, or every project member's keys when it names none.

[NotFound ](https://nodus-platform-site.pages.dev/docs/reference/errors/not-found/)The object, project or path does not exist in this org.

[OutputIndexRequired ](https://nodus-platform-site.pages.dev/docs/reference/errors/output-index-required/)Several indexes of an Indexed Job committed the output; the download must pick one.

[OutputNotFound ](https://nodus-platform-site.pages.dev/docs/reference/errors/output-not-found/)The Job did not commit an output by that name, or not at that index.

[PaymentDisputed ](https://nodus-platform-site.pages.dev/docs/reference/errors/payment-disputed/)A card payment on the org is disputed; new work cannot start until the dispute closes.

[PaymentMethodRequired ](https://nodus-platform-site.pages.dev/docs/reference/errors/payment-method-required/)New work requires a verified card, including work funded by promotional credit. Adding a card does not charge it.

[PaymentsNotConfigured ](https://nodus-platform-site.pages.dev/docs/reference/errors/payments-not-configured/)The deployment holds no Stripe key, so it takes no card payments; balances, grants and usage still work.

[PaymentVerificationUnavailable ](https://nodus-platform-site.pages.dev/docs/reference/errors/payment-verification-unavailable/)Stripe could not confirm the payment method. Existing running work retains its funded holds.

[PoolActionNotPending ](https://nodus-platform-site.pages.dev/docs/reference/errors/pool-action-not-pending/)Only a queued, undecided action waits for a decision; it may have expired or been decided by someone else.

[PoolActionNotReversible ](https://nodus-platform-site.pages.dev/docs/reference/errors/pool-action-not-reversible/)Only an executed drain, undrain or routing change can be reverted, once.

[PoolActPaused ](https://nodus-platform-site.pages.dev/docs/reference/errors/pool-act-paused/)The pool's kill switch stops every action until it is resumed.

[PoolInUse ](https://nodus-platform-site.pages.dev/docs/reference/errors/pool-in-use/)A Pool is deleted only once no Node is enrolled in it and no object names it in spec.placement.pool.

[PreconditionFailed ](https://nodus-platform-site.pages.dev/docs/reference/errors/precondition-failed/)The If-Match value no longer matches the compiled spec and price book of a fresh dry-run.

[PriceConsentRequired ](https://nodus-platform-site.pages.dev/docs/reference/errors/price-consent-required/)Pool routing and Predict are billed, so turning either on records consent to its current price.

[PromoCodeExpired ](https://nodus-platform-site.pages.dev/docs/reference/errors/promo-code-expired/)The promo code exists but can no longer be redeemed.

[PromoCodeUsed ](https://nodus-platform-site.pages.dev/docs/reference/errors/promo-code-used/)The org has already redeemed the code as often as it may, or the code has no redemptions left.

[QuotaExceeded ](https://nodus-platform-site.pages.dev/docs/reference/errors/quota-exceeded/)The org or project already uses everything its Quota allows of this counter.

[RequestEntityTooLarge ](https://nodus-platform-site.pages.dev/docs/reference/errors/request-entity-too-large/)The request body is larger than the route accepts (1 MiB for JSON).

[RequestInProgress ](https://nodus-platform-site.pages.dev/docs/reference/errors/request-in-progress/)The original request with this Idempotency-Key has not finished yet.

[SandboxFailed ](https://nodus-platform-site.pages.dev/docs/reference/errors/sandbox-failed/)The Sandbox is in the Failed phase, which is final: status.reason says why.

[SandboxNotRunning ](https://nodus-platform-site.pages.dev/docs/reference/errors/sandbox-not-running/)The Sandbox is being deleted, so no command, file or port request can reach it and none starts it.

[SandboxStarting ](https://nodus-platform-site.pages.dev/docs/reference/errors/sandbox-starting/)The request needs the Sandbox's container, which is not running yet. A stopped Sandbox is started by the request itself; the answer carries Retry-After.

[SecretValueInEnv ](https://nodus-platform-site.pages.dev/docs/reference/errors/secret-value-in-env/)Secret values reach a Job or Sandbox only through secrets or valueFrom.secretKeyRef, never as literals.

[SHA256Mismatch ](https://nodus-platform-site.pages.dev/docs/reference/errors/sha256-mismatch/)A write with expectedSHA256 found different content than the writer started from, so nothing was written.

[StdinBackpressure ](https://nodus-platform-site.pages.dev/docs/reference/errors/stdin-backpressure/)The process's stdin buffer is full, so the write was refused without losing earlier input.

[TooManyRequests ](https://nodus-platform-site.pages.dev/docs/reference/errors/too-many-requests/)The credential sent too many requests of this class; the RateLimit headers show the budget.

[TopUpLimitReached ](https://nodus-platform-site.pages.dev/docs/reference/errors/top-up-limit-reached/)An org buys at most $5,000 of credit through Checkout per UTC day.

[Unauthorized ](https://nodus-platform-site.pages.dev/docs/reference/errors/unauthorized/)The request carries no valid credential, or the credential expired.

[Unavailable ](https://nodus-platform-site.pages.dev/docs/reference/errors/unavailable/)A dependency of the API is temporarily unavailable.

[Unsupported ](https://nodus-platform-site.pages.dev/docs/reference/errors/unsupported/)The request is well formed but asks for a feature this API does not offer.

[UnsupportedMediaType ](https://nodus-platform-site.pages.dev/docs/reference/errors/unsupported-media-type/)The request body's Content-Type is not accepted; strategic merge patch is not supported.

[VolumeBusy ](https://nodus-platform-site.pages.dev/docs/reference/errors/volume-busy/)A ReadWriteOnce Volume has one writer; another attempt holds its lease.

[WorkerNotAllowed ](https://nodus-platform-site.pages.dev/docs/reference/errors/worker-not-allowed/)Only the Function's own worker attempts, through their ServiceAccount token, can claim its calls.

[WorkspaceStarting ](https://nodus-platform-site.pages.dev/docs/reference/errors/workspace-starting/)The Workspace has no running session yet: it is starting, or the request woke it from a stop.

[WorkspaceToolUnavailable ](https://nodus-platform-site.pages.dev/docs/reference/errors/workspace-tool-unavailable/)A browser tool has a preview URL only while the Workspace is running and lists the tool in spec.tools.
