Error Reference
A domain-specific error carries a stable code as the last path segment of thetype field in itsRFC 9457 problem document —"type": "/api/errors/SVC001" is the entry below. Generic HTTP errors use about:blank and have no code.
A running Cetacean serves the same catalog at GET /api/errors, and one entry at GET /api/errors/{code}. This page is generated from the same source, so the two cannot disagree.
APIProtocol and content negotiation
API001SSE Not Supported406This endpoint does not support Server-Sent Events.
API002SSE Required406This endpoint only supports Server-Sent Events.
API003Not Acceptable406The Accept header does not match any media type this endpoint can produce.
API004Invalid Patch Content-Type415The Content-Type header does not match a supported patch format.
API005Streaming Not Supported500The server's response writer does not support streaming (no http.Flusher).
API006Invalid Request Body400The request body could not be decoded as valid JSON.
API007Unreadable Request Body400The request body could not be read.
API008Invalid JSON400The request body is not valid JSON.
API009Internal Serialization Error500The server failed to serialize or deserialize internal state.
API010Patch Test Failed409A JSON Patch test operation failed, indicating the resource state does not match the expected value.
API011Patch Application Failed400The JSON Patch could not be applied to the resource.
API012Endpoint Removed410This endpoint was deprecated and has since been removed.
API013Precondition Failed412The If-Match header did not match the current state of the resource.
API014Not Representable as Compose422The resource has nothing a compose file can describe. A service running a plugin or a network attachment has no container specification, which is all a compose service is.
API015Ambiguous Identifier409The name in the path or request body identifies more than one resource, so the server cannot tell which one was meant. Swarm does not require node hostnames to be unique.
AUTAuthentication
AUT001Not Authenticated401The request requires authentication but no valid credentials were provided.
AUT002Authorization Denied403The identity provider denied authorization.
AUT003Authentication Callback Error400The authentication callback contained invalid or missing parameters.
AUT004Authentication Server Error500An internal error occurred during authentication.
AUT005Client Certificate Rejected403The client certificate was absent, unreadable, or carried no usable identity.
AUT006Authentication Refused403The credential this deployment authenticates with was missing or rejected, and no HTTP authentication scheme can ask for it.
ACLAuthorization
ACL001Access Denied403You do not have permission to access this resource.
ACL002Write Access Denied403You do not have write permission on this resource.
OPSOperations level
OPS001Operations Level Too Low403The requested operation requires a higher operations level than the server is configured for.
CSRCross-origin protection
CSR001Cross-Origin Request Blocked403The request changes state and arrived from another origin, which cross-site request forgery protection refuses.
FLTFilter expressions
FLT001Filter Expression Too Long400The filter expression exceeds the maximum allowed length.
FLT002Invalid Filter Expression400The filter expression could not be compiled, names a field the resource does not have, or compares values of different types.
FLT003Filter Evaluation Error400The filter expression compiled but failed during evaluation.
FLT004Filter Too Expensive400The filter expression was too expensive to evaluate over the list.
SEASearch
SEA001Missing Search Query400The required query parameter q is missing.
SEA002Search Query Too Long400The search query exceeds the maximum allowed length of 200 characters.
MTRMetrics and Prometheus
MTR001Prometheus Not Configured503Prometheus metrics are not available because no Prometheus URL is configured.
MTR002Prometheus Unreachable502The configured Prometheus server is not responding.
MTR003Missing Metrics Query400The required query parameter is missing for the metrics endpoint.
MTR004Invalid Metrics Step400The step parameter is outside the allowed range.
MTR005Too Many Metrics Streams429The maximum number of concurrent metrics stream connections has been reached.
MTR006Missing Label Name400The label name path parameter is missing.
MTR007Prometheus Request Failed500Failed to create the request to the Prometheus server.
LOGLog streaming
LOG001Too Many Log Streams429The maximum number of concurrent log stream connections has been reached.
LOG002Invalid Stream Parameter400The stream parameter must be either stdout or stderr.
LOG003Invalid After Parameter400The after parameter must be an RFC 3339 timestamp or a Go duration string.
LOG004Invalid Before Parameter400The before parameter must be an RFC 3339 timestamp or a Go duration string.
LOG005Before Not Supported For SSE400The before parameter is not supported for SSE log streams because they are open-ended.
LOG006Log Retrieval Failed500Failed to retrieve logs from the Docker Engine.
LOG007Log Parse Failed500The logs were retrieved but could not be parsed.
LOG008Log Stream Failed500Failed to open the log stream from the Docker Engine.
LOG009Too Many Log Reads429The maximum number of concurrent log reads has been reached.
SSESSE connections
SSE001Too Many SSE Connections429The maximum number of concurrent SSE connections has been reached, for the server or for this caller.
ENGDocker Engine
ENG001Docker Engine Unavailable503The Docker Engine is not responding. The daemon may be stopped, restarting, or the socket may be unreachable.
ENG002Docker Version Check Failed503Could not determine the latest Docker Engine version from the GitHub API.
ENG003Docker Validation Error400The Docker Engine rejected the request due to invalid arguments.
ENG004Docker Engine Error500An unexpected error occurred while communicating with the Docker Engine.
ENG005Docker Engine Timeout504The Docker Engine did not answer within the time Cetacean allows for the operation.
ENG006Cluster Re-sync Failed502Cetacean could not read the cluster from the Docker Engine. The detail names what each list answered.
SWMSwarm operations
SWM001Swarm API Not Available501The swarm API is not available. This node may not be a swarm manager, or the Docker Engine may not support swarm mode.
SWM002Swarm Inspect Failed503Failed to inspect the current swarm state. The swarm may be temporarily unavailable.
SWM003Swarm Update Failed500The swarm configuration update failed.
SWM004Disk Usage Not Available501Disk usage information is not available from the Docker Engine.
SWM005Disk Usage Failed500Failed to retrieve disk usage information from the Docker Engine.
SWM006Token Rotation Failed500Failed to rotate the swarm join token.
SWM007Unlock Key Rotation Failed500Failed to rotate the swarm unlock key.
SWM008Swarm Unlock Failed500Failed to unlock the swarm with the provided key.
SWM009Unlock Key Retrieval Failed500Failed to retrieve the swarm unlock key.
SWM010Unlock Key Required400The unlock key is required to unlock the swarm.
SWM011Invalid Token Target400The token rotation target must be either worker or manager.
PLGPlugin operations
PLG001Plugin List Failed500Failed to list plugins from the Docker Engine.
PLG002Plugin Remote Required400The remote field is required for plugin operations.
PLG003Plugin Privilege Check Failed500Failed to check the required privileges for the plugin.
PLG004Plugin Not Found404The requested plugin does not exist on this Docker host.
PLG005Plugin Privileges Required400An install or upgrade must name the privileges it grants.
PLG006Plugin Privileges Changed409The plugin now requires different privileges from the ones the request grants.
NODNode operations
NOD001Node Not Down409The node cannot be removed in its current state. A node must be down before it can be removed from the swarm, and a manager must first be demoted to worker.
NOD002Node Version Conflict409The node was modified by another client between the time it was read and the time the update was submitted.
NOD003Node Not Found404The specified node does not exist in the swarm.
NOD004Invalid Availability Value400The availability value must be one of: active, drain, pause.
NOD005Invalid Role Value400The role value must be one of: worker, manager.
SVCService operations
SVC001Service Version Conflict409The service was modified by another client between the time it was read and the time the update was submitted.
SVC002Service In Use409The service cannot be removed because it is still referenced by other resources or managed by a stack.
SVC003Service Not Found404The specified service does not exist in the swarm.
SVC004Replicas Required400The replicas field is required for this operation.
SVC005Cannot Scale Global Service400Global-mode services run exactly one task per node and cannot be scaled manually.
SVC006Image Required400The image field is required for service image updates.
SVC007No Previous Spec400The service has no previous specification to rollback to.
SVC010Invalid Endpoint Mode400The endpoint mode must be one of: vip, dnsrr.
SVC011Invalid Resource Specification400The merged resource specification is not valid.
SVC012Invalid Update Policy400The merged update policy specification is not valid.
SVC013Invalid Rollback Policy400The merged rollback policy specification is not valid.
SVC014Invalid Healthcheck400The merged healthcheck specification is not valid.
SVC015Config Missing Required Fields400Each config reference must include configID and configName.
SVC016Secret Missing Required Fields400Each secret reference must include secretID and secretName.
SVC017Network Missing Target400Each network attachment must include a target network ID.
SVC018Invalid Patch Result400The JSON patch produced an invalid result that could not be applied.
SVC019Invalid Log Driver Specification400The merged log driver specification is not valid.
SVC020Port Missing Target400A published port must name the container port it forwards to.
SVC021Unknown Attachment400A secret, config, or network the request attaches is not known to the cluster.
TSKTask operations
TSK001Task Already Removed409The task could not be removed because the Docker Engine no longer tracks it.
TSK002Task Not Found404The specified task does not exist.
STKStack operations
STK001Stack Not Found404The specified stack does not exist. Stacks are derived from service labels and may disappear when all services in the stack are removed.
VOLVolume operations
VOL001Volume In Use409The volume cannot be removed because it is in use: a local volume is mounted by one or more containers, or a cluster volume is still published to a node.
VOL002Volume Not Found404The specified volume does not exist.
NETNetwork operations
NET001Network Has Active Endpoints409The network cannot be removed because it has active endpoints from running containers or services.
NET002Network Not Found404The specified network does not exist.
CFGConfig operations
CFG001Config In Use409The config cannot be removed because it is referenced by one or more services.
CFG002Config Not Found404The specified config does not exist.
CFG003Config Name Conflict409A config with this name already exists.
CFG004Invalid Config400The config creation request is invalid.
CFG005Config Version Conflict409The config was modified concurrently.
SECSecret operations
SEC001Secret In Use409The secret cannot be removed because it is referenced by one or more services.
SEC002Secret Not Found404The specified secret does not exist.
SEC003Secret Name Conflict409A secret with this name already exists.
SEC004Invalid Secret400The secret creation request is invalid.
SEC005Secret Version Conflict409The secret was modified concurrently.