Error codes

Every CHW-NNNN error the Chainsaw API emits, with HTTP status and remediation guidance.

Every error the Chainsaw API returns carries a stable CHW-NNNN code in the response body (error.code) and in a docs URL that points operators and integrators at the page for that specific failure.

{
  "error": {
    "code": "CHW-2001",
    "message": "request blocked by configured policy",
    "docs": "https://docs.chain305.com/errors/CHW-2001"
  }
}

Numbering

RangeCategoryTypical HTTP
CHW-1xxxAuthentication & authorization, caller rate limits, plan quotas401 / 403 / 429 / 402
CHW-2xxxPolicy enforcement403 / 451
CHW-3xxxUpstream registry failures429 / 404 / 502 / 504
CHW-4xxxMalformed client input400 / 404 / 409 / 422
CHW-5xxxInternal / storage failures500
CHW-8xxxDomain-scoped, outside the 1–5 split (grouped below as Other)varies

Codes are never re-used — once assigned to a failure, a code keeps that meaning even if the failure path is later deleted. Read the leading digit as where the code was minted, not as a predicate on HTTP status: CHW-1301 and CHW-1304 are rate limits (429) that live in the auth block by design.

Authentication & authorization

CodeHTTPReasonMessage
CHW-1001401UNAUTHORIZEDauthentication required
CHW-1002401TOKEN_EXPIREDauthentication token expired
CHW-1003403INSUFFICIENT_SCOPEforbidden
CHW-1101401invalid credentials
CHW-1102401two-factor authentication required; complete the /api/auth/2fa/verify handshake
CHW-1103401invalid verification code
CHW-1104429too many verification attempts; please log in again
CHW-1105400SSO state is invalid or has already been consumed; restart the sign-in flow
CHW-1106400SSO session expired; please start sign-in again
CHW-1107403your email domain is not allowed for this organization
CHW-1108400SSO nonce validation failed; restart the sign-in flow
CHW-1109502identity provider returned an error or could not be contacted
CHW-1110403organization seat limit reached; contact an administrator to upgrade the plan
CHW-1111401account is disabled
CHW-1112401invalid password
CHW-1113403SSO is not included in this organization’s current plan; contact an administrator
CHW-1201403org admin privileges are required for this action; ask an org admin or owner to perform it
CHW-1202403global admin privileges are required to assign or modify the global-admin role
CHW-1203403the requested role grants permissions beyond the caller’s own; ask a broader-privileged admin to assign it
CHW-1204403the target member holds broader permissions than the caller; ask an equally-or-more privileged admin to make the change
CHW-1205403cannot remove yourself from the organization; ask another org admin to remove your membership
CHW-1206403an active membership in the target org is required; ask an org admin to invite you
CHW-1207403the invitation was issued to a different email than the signed-in account; sign in with the invited email or ask the inviter to re-issue
CHW-1208403the default org cannot be purged; it is load-bearing for single-tenant deployments
CHW-1209403Cloudflare Turnstile security check failed; refresh and retry, or disable browser extensions that block challenges
CHW-1301429RATE_LIMITEDrepository rate limit exceeded; slow down or check the Retry-After header before retrying
CHW-1302402PLAN_UPGRADE_REQUIREDorganization usage quota exceeded; upgrade the plan or free storage before retrying
CHW-1303404unknown organization in repository URL; verify the @{org-slug} segment or ask an admin to confirm the org exists
CHW-1304429RATE_LIMITEDfeedback rate limit exceeded for this user — slow down or check the Retry-After header before retrying
CHW-1401402PLAN_UPGRADE_REQUIREDthis feature is not included in your current plan; upgrade the organization plan to continue
CHW-1402503Billy is not configured on this instance; ask an operator to set OPENROUTER_API_KEY to enable the AI assistant
CHW-1403503payment processor not configured on this instance; contact support or self-host operator
CHW-1404429RATE_LIMITEDtoo many plan changes from this organization — please wait and try again
CHW-1405409no paid subscription on file for this organization; upgrade to a paid plan before opening the billing portal
CHW-1406503billing store is not available; the server started without a database — check the operator dashboard
CHW-1407503paddle webhook not configured; operator must set the webhook secret before paddle events can be accepted
CHW-1408400Billy action could not be applied; inspect the request-specific error message for the next step
CHW-1501403an organisation context is required to read usage data; switch into a specific org before retrying
CHW-1601403global runtime settings must be managed from /api/admin/settings; per-org endpoints reject clamav and data_sources fields
CHW-1801403you do not have permission to manage this client credential; ask an org admin or the credential owner
CHW-1802403this package version has been quarantined by an administrator; contact the org admin who quarantined it if you believe this is an error
CHW-1803401client credentials are required to access this repository; supply them via basic auth or the Authorization header
CHW-1920403requested scope exceeds your current permissions; you can only mint a key whose permissions you already hold
CHW-1921403cannot widen an existing key’s scope; mint a new key instead

Policy enforcement

CodeHTTPReasonMessage
CHW-2001403POLICY_BLOCKrequest blocked by configured policy; review the policy that matched in the policy audit log
CHW-2002403VULNERABILITY_DETECTEDpackage blocked because it contains a known vulnerability at or above the configured severity threshold; upgrade the package or lower the…
CHW-2003403LICENSE_BLOCKpackage blocked because its license is not on the allowed list for this repository; add the SPDX ID to the allowlist or choose a compatib…
CHW-2004403TYPOSQUAT_DETECTEDpackage name resembles a known-good package and was blocked as a suspected typosquat; verify the intended name or allowlist the coordinate
CHW-2301403POLICY_BLOCKpackage release is younger than the configured minimum-age window; wait for the version to age out or add an exception for this coordinate
CHW-2302403POLICY_BLOCKrequest blocked by configured policy; review the matched policy in the audit log or request an exception from an org admin
CHW-2303403MALWARE_DETECTEDpackage flagged as known malicious by the supply-chain scanner and blocked; verify the package coordinate and report the detection if it …
CHW-2304403HOOK_BLOCKrequest blocked by repository hook; review the hook response or the hook configuration
CHW-2305403CHECKSUM_MISMATCHartifact checksum mismatch: upstream-declared hash disagrees with downloaded bytes; inspect the X-Chainsaw-Checksum-Mismatch header or ra…
CHW-2306403POLICY_BLOCKpublish blocked by policy; the rule that fired is named in the response payload’s policy_id / rule_id field
CHW-2307403COVERAGE_UNAVAILABLErequired signal coverage unavailable: a data source your deployment marked mandatory could not be evaluated for this package, so the requ…

Upstream registry

CodeHTTPReasonMessage
CHW-3001502upstream registry is unreachable; retry shortly or check network connectivity to the configured mirror
CHW-3002429upstream registry rate-limited this request; slow down or configure an authenticated mirror
CHW-3003404upstream registry returned 404 for this coordinate; verify the package name and version
CHW-3401400paddle webhook signature verification failed; reject suspected replay or misconfigured secret
CHW-3402400paddle webhook event body could not be parsed; event_id / event_type missing
CHW-3403400paddle webhook body could not be read; retry shortly
CHW-3404502paddle did not accept the checkout / subscription update request; retry shortly and if it persists contact support
CHW-3405502could not prepare the paddle customer record for this organization; retry shortly
CHW-3406502could not open the paddle billing portal; retry shortly
CHW-3407500Billy could not complete the request; please try again, and if the problem persists check that OPENROUTER_API_KEY has remaining credit
CHW-3408500could not clear Billy history; please retry
CHW-3701502webhook test delivery failed; the endpoint was unreachable or returned a non-2xx response — verify the URL and the endpoint’s handling …
CHW-3702502SIEM test delivery failed; the configured endpoint was unreachable or rejected the probe — check host/port/token and firewall rules
CHW-3703502the SAML identity provider’s metadata endpoint could not be fetched or parsed; verify the IdP metadata URL is reachable and returns well-…

Client input

CodeHTTPReasonMessage
CHW-4001400request payload failed validation; see endpoint documentation for the expected shape
CHW-4002400package coordinate could not be parsed; supply name, version, and (where required) namespace in the format the ecosystem expects
CHW-4101400signup payload failed validation; email, password, and org_name are required
CHW-4102409An account with this email already exists. Sign in instead.
CHW-4103400request payload was missing or malformed; see endpoint documentation for the expected JSON shape
CHW-4104400password must be at least 12 characters
CHW-4105400signup requires a business email address; personal / disposable providers are not accepted
CHW-4106400new password and confirmation do not match
CHW-4107400invalid or expired verification link
CHW-4108400this verification link has expired; please request a new one
CHW-4109400this verification link has already been used
CHW-4110400invalid or expired reset link
CHW-4111400this reset link has expired; please request a new one
CHW-4112400this reset link has already been used
CHW-4113400no TOTP setup in progress; call /api/settings/2fa/setup first
CHW-4114409two-factor authentication is already enabled; disable it before re-enrolling
CHW-4115400no TOTP setup in progress; start setup before verifying a code
CHW-4116400SSO configuration payload is missing required fields for the chosen protocol
CHW-4117404SSO is not configured for this organization
CHW-4118409a mapping for this group value already exists on this provider
CHW-4119404SSO group mapping not found
CHW-4120404member not found in your organization
CHW-4121400this member does not have two-factor authentication enabled
CHW-4122404this feature is not enabled on this instance
CHW-4123409An account already exists for the underlying email address. Sign in or use a different email.
CHW-4124409A workspace with this name already exists. Try a different name.
CHW-4201404organization not found; verify the org_id and that it has not been deleted
CHW-4202404user not found in this organization; verify the user_id and that the membership still exists
CHW-4203404group not found in this organization; verify the group_id
CHW-4204404role not found in this organization; verify the role slug or id
CHW-4205404invitation not found; verify the token or ask the inviter to re-issue
CHW-4206400invitation has expired; ask the inviter to re-issue it
CHW-4207400invitation has already been accepted; sign in with the invited email to access the org
CHW-4208409org slug is already in use; pick a different slug
CHW-4209409this email is already registered; invite by inviting the existing account or ask them to sign in and accept
CHW-4210409a pending invitation already exists for this email; revoke it before issuing a new one
CHW-4211409an account with this email already exists; sign in and then accept the invitation from the same session
CHW-4212409member limit reached — ask an owner to upgrade the organization’s plan
CHW-4213400unknown role; supply a built-in role slug or an existing custom role in this org
CHW-4214400built-in roles cannot be edited or deleted; create a custom role instead
CHW-4215409role is in use; reassign members, invitations, and SSO defaults before deleting
CHW-4216400the invitation’s role is no longer available; ask the inviter to re-issue with a current role
CHW-4217400email failed validation; use a business email address accepted by the org policy
CHW-4218400password must be at least 12 characters; supply a longer passphrase
CHW-4301404package not found; verify the package id and that it has not been deleted
CHW-4302404package version not found; verify the version string and that it has not been deleted
CHW-4303404package permission not found; verify the permission id and the caller’s org
CHW-4304409package slug already exists for this repository; pick a different package_name or update the existing slug
CHW-4305409package name already exists in the upstream registry; only names unused upstream can be registered as internal packages
CHW-4306404repository not found; verify the repository name and that it is configured for this org
CHW-4307400invalid repository path; use /repository/@{org-slug}/{repo}/{path} or /repository/{repo}/{path}
CHW-4308400missing package or permission identifier in URL; supply /api/packages/{id} or /api/package-permissions/{id}
CHW-4309400required fields are missing from the request body; see endpoint documentation for the expected shape
CHW-4310409package permission already exists for this client, pattern, and repository; edit the existing row instead of creating a duplicate
CHW-4311400client not found in this organization; verify the client_id or create the client credentials first
CHW-4312404exception policy not found; verify the exception id and that it has not been deleted
CHW-4313400only vulnerability-exception policies can be renewed; other policy types have no expiry to extend
CHW-4314400org-scoped URL required: /repository/@{org-slug}/{repo-name}/…; legacy URLs without the org slug are disabled on this instance
CHW-4315404finding not found; verify the id and that it belongs to the caller’s org
CHW-4316400finding status transition not allowed; see the finding state machine documentation for the legal moves
CHW-4317404scan subsystem not initialised on the server
CHW-4318400lockfile could not be parsed; verify the base64 payload and the lockfileType
CHW-4319400bulk request exceeds 500 items; split the request or lower maxResults
CHW-4320400unsupported lockfile type; valid values are “npm” and “pnpm”
CHW-4321400unsupported sbom output format; this server emits CycloneDX only (use ?format=cyclonedx or omit the parameter; for ecosystem filtering us…
CHW-4322400risk weight override malformed; expected body {“weights”:{“vulnerability”:0.5,…}} with numeric values
CHW-4323400risk weight override fails validation: weights must be non-negative, known categories, sum > 0, and no single weight above 0.8
CHW-4324404no risk weight override set for this org; defaults apply until a PUT /api/v1/intel/weights is made
CHW-4325404tuning suggestion not found; verify the id and that it belongs to the caller’s org
CHW-4326409tuning suggestion is not in the ‘open’ state; only open suggestions can be accepted or dismissed (the next action must come from a new po…
CHW-4327400feedback action must be one of: false_positive, true_positive, retract; retract requires a referencing_event_id
CHW-4401400plan_id is not one of the allowed plan slugs; supply a current plan from /api/billing/plans
CHW-4402400billing_cycle must be either “month” or “year”
CHW-4403400the selected plan is not available on the requested billing cycle; pick a different cycle or contact support
CHW-4404400billing request body was missing or malformed; see /api/billing documentation for the expected shape
CHW-4405400Billy chat requires a non-empty message field
CHW-4406400unsupported Billy action type; supply one of the handler-registered action kinds
CHW-4407400Billy policy payload was missing or malformed; supply a decodable policy draft
CHW-4408400Billy action is missing its required target id or policy draft
CHW-4409404service token not found in this organization; verify the client id
CHW-4410400target client is not a service token; service_token.disable cannot apply to user-owned credentials
CHW-4411404policy not found in this organization; verify the policy id
CHW-4412400policy store rejected the draft; fix the validation issue and retry
CHW-4413429RATE_LIMITEDBilly chat rate limit exceeded — please wait and retry
CHW-4501409cannot delete this pricing plan: it is still assigned to one or more organisations; reassign those orgs to a different plan first
CHW-4502409another pricing plan is already marked as the default; clear the existing default before promoting a new one
CHW-4503400pricing plan features JSON failed validation; supply a JSON object whose keys match the documented feature flags
CHW-4504400plan assignment requires both orgId and planId in the request body
CHW-4505400user id segment is required on /api/usage/users/{userId}
CHW-4506400org_id query parameter is required for this admin endpoint
CHW-4507400saved traffic view requires a non-empty “name” field so it can be identified in the UI
CHW-4508400view id segment is required on DELETE /api/traffic/views/{id}
CHW-4509400violation id segment must be a numeric value; check the URL
CHW-4510404violation not found in this organisation; verify the id and that the violation has not been purged
CHW-4511400repository name segment is required on this endpoint
CHW-4512400vulnerabilities path must match {repository}/vulnerabilities; check the URL
CHW-4513400audit event payload was missing required fields or could not be decoded; check the request body shape
CHW-4514400scan request body could not be decoded or contained an empty packages list; supply {“packages”:[{“name”:"…",“version”:"…"},…]}
CHW-4515400attestation payload was missing required fields (device_id, ecosystems, direct_registry_egress) or could not be decoded; check the reques…
CHW-4516400coverage flag payload requires a non-empty client_id; check the request body shape
CHW-4517400bypass exemption payload requires a non-empty client_id and reason; check the request body shape
CHW-4518409this exemption cannot be resolved yet: bypass confidence has not stayed below threshold for the required 24h window
CHW-4519413audit export refused: this org has more rows than the in-memory export endpoint can safely return; use the (forthcoming) streaming /api/a…
CHW-4601400settings payload failed validation; check field types and ranges against the endpoint documentation
CHW-4602400settings payload contained no mutable fields; supply at least one field to update
CHW-4603400policy payload failed validation; check rule shape, action, and scope against the policy schema
CHW-4604409policy conflicts with an existing one (duplicate name or precedence); pick a unique identifier or precedence
CHW-4605404policy not found in this organisation
CHW-4606404proxy/repository not found in this organisation
CHW-4607400proxy update payload failed validation; check remote_url, cache_negative_ttl_seconds, and that at least one mutable field is supplied
CHW-4608400unknown data source; expected one of openssf, trivydb, epss, clamavdb
CHW-4609400cache purge path is malformed; expected /api/cache/repos/{repo}/packages/{package}/{version}
CHW-4610404no cached artifacts found for the supplied repository, package, and version
CHW-4611400cache purge-all requires a password in the request body
CHW-4612403incorrect password
CHW-4613404client not found in this organisation
CHW-4614400org_id is required for this endpoint; supply it as a query parameter or path segment
CHW-4615400unknown persona; supply a recognised persona slug or omit the field to clear it
CHW-4616400repo→team mapping payload failed validation; both repoPattern and team are required
CHW-4617404repo→team mapping not found in this organisation
CHW-4618409repo→team mapping with this pattern already exists in the organisation
CHW-4701400webhook request body was missing or malformed; supply a JSON object with url (and optionally enabled) fields
CHW-4702400webhook url is required
CHW-4703400webhook url was rejected; it must be an https URL pointing to a publicly routable host
CHW-4704400maximum of 5 webhooks per user; delete an existing webhook before creating a new one
CHW-4705400webhook id is required in the path; use /api/webhooks/{id}
CHW-4706404webhook not found
CHW-4707400SIEM integration id is required in the path; use /api/siem/integrations/{id}
CHW-4708404SIEM integration not found
CHW-4709400SIEM integration config failed validation; check name, provider, and provider-specific config fields
CHW-4710404SCIM token not found
CHW-4711400SCIM token request was malformed; see /api/orgs/{org_id}/scim/tokens docs for the expected shape
CHW-4712400organization slug is required in the path; use /api/auth/saml/metadata/{slug}
CHW-4713404SAML SSO is not configured for this organization
CHW-4714400the configured SSO provider for this organization is not SAML; use the OIDC metadata endpoint instead
CHW-4715400persona payload was missing or malformed; supply a JSON object with optional persona, inferred, and skipped fields
CHW-4716400persona value is not recognised; supported values are appsec, devsecops, enterprise_it
CHW-4717400could not read postmark webhook body; the request was truncated or the connection dropped mid-request
CHW-4718413postmark webhook body exceeded the 256 KiB limit
CHW-4719403email send skipped because the recipient is in the local postmark suppression ledger (hard bounce, spam complaint, or manual suppression)
CHW-4801400client identifier is required; supply it in the URL path (/api/clients/{client_id})
CHW-4802400client credential payload could not be decoded; ensure the body is a JSON object matching the schema
CHW-4803400client credential fields are invalid or conflict with an existing record; verify client_id, client_type, and expiry_date
CHW-4804404client credential not found; verify the client id and that it has not been deleted
CHW-4805400quarantine action requires a package name segment in the path before /versions/
CHW-4806400quarantine request body could not be decoded; supply a JSON object with optional reason and logical_paths fields
CHW-4807404no cached artifacts found for this package version; nothing to quarantine
CHW-4808400upload could not be parsed; verify the request body matches the ecosystem’s publish protocol
CHW-4809400could not determine package name and version from upload; include the package metadata expected by the ecosystem
CHW-4810403the uploaded package is not registered in this repository; ask an admin to create a package slug before publishing
CHW-4811403the client does not have write permission for this package on this repository; ask an admin to grant package-permissions.write
CHW-4812409this package version already exists; delete it first to republish, or publish a new version
CHW-4813400docker blob upload request is missing the upload UUID segment
CHW-4814404docker blob upload session not found; the session may have expired — re-initiate the push
CHW-4815400docker blob upload completion requires the ?digest= query parameter
CHW-4816400docker manifest push path is malformed; expected {name}/manifests/{reference}
CHW-4817400unsupported docker push operation; only blob upload and manifest push are implemented
CHW-4818400repository name is required in the path; use /api/repos/{repository}/…
CHW-4819404unsupported API route; see /api/openapi.yaml for the list of supported endpoints
CHW-4820400packages API path is invalid; expected /api/repos/{repository}/packages/{package…}
CHW-4821404repository not found; verify the repository name and the org context
CHW-4822404package not found in this repository; verify the package name
CHW-4823400FindPackagesById() requires the id query parameter
CHW-4824409Idempotency-Key was reused with a different request body; pick a fresh key or resend the original body to receive the cached response
CHW-4825400X-Chainsaw-Action-Source header value is not in the allowlist; valid sources are direct, inventory_view, coverage_silent, bypass_clients,…
CHW-4826400bulk action exceeded the maximum allowed items per request; split into smaller batches
CHW-4827400bulk action failed up-front validation; nothing was committed — see the response body for per-item details
CHW-4828409K8s Fail-mode hardening bundle is blocked: cluster has not soaked safely in Ignore mode yet — see the gate object in the response for w…
CHW-4829400admission shadow decision payload is malformed; required fields are org_id, cluster, and decision (one of would_allow, would_block, inter…
CHW-4830409this org requires a preview before saving risk weights — POST /api/v1/intel/weights/simulate first and submit the returned simulate_id …
CHW-4831409this org requires a preview before deletion — POST /api/orgs/{id}/delete/preview first and submit the returned simulate_id on the DELETE
CHW-4832409the org inventory drifted since the simulate was produced; re-run the preview before deleting
CHW-4833409the multi-key approval nonce is not valid — see the approval.reason field for the specific sub-reason (missing, expired, unsigned, self…
CHW-4840415Content-Type must be application/json; the cocoapods trunk only accepts JSON bodies
CHW-4841422podspec failed validation; verify the name, version, and source fields
CHW-4842404trunk repository not bound to a tenant; verify the request lands inside a hosted-trunk repo prefix
CHW-4900410UPSTREAM_DEPRECATEDrubygems /api/v1/dependencies was deprecated upstream in 2023; use the Compact Index (versions, names, info/{name}), /api/v1/versions/{na…
CHW-4901404action not found for this org; call list_recent_actions or /api/actions to find an id
CHW-4902409action already undone; retrying will not change the state
CHW-4903400undo is not supported for this action type; use the Web UI or delete+recreate the resource
CHW-4904400this action cannot be undone — the operation destroyed state (e.g. cleartext secret) that no surface can restore; mint a fresh credenti…
CHW-4910409quorum not met; collect additional approvals before emitting the hardening bundle
CHW-4911404harden proposal not found for this org (it may have expired or belong to another org); list current proposals in the admin hardening dash…
CHW-4912409harden bundle already emitted from this proposal; propose a new one to ship again
CHW-4913409proposer cannot self-approve when quorum >= 2; ask a different org admin to approve
CHW-4914409this user has already approved the proposal; quorum requires N distinct approvers
CHW-4915400action id is required in the URL path
CHW-4920400invalid key_type filter; expected ‘personal’ or ‘agent’
CHW-4921400name is required
CHW-4922400key_type / agent_kind combination is invalid; personal keys must omit agent_kind and agent keys must supply it
CHW-4923400either preset or scopes is required; supply one of the canonical preset names or a concrete scopes object
CHW-4924400missing api key id
CHW-4925404api key not found
CHW-4926400name cannot be empty
CHW-4927409api key is not active; rotate is only permitted on active keys
CHW-4928409simulate snapshot stale; re-run –dry-run
CHW-4929409simulate_id was minted for a different action; mint a fresh one with chainsaw org delete --dry-run
CHW-4940400invalid nonce; expected a hex string of 16-128 characters
CHW-4941400port out of range; supply a loopback-accessible port between 1024 and 65535
CHW-4942400missing or invalid device_code
CHW-4943404device code not found or expired; restart the chainsaw auth login flow
CHW-4944410device code has already been consumed; restart the chainsaw auth login flow
CHW-4945400user_code is required
CHW-4946404code not found or expired
CHW-4947409device grant state changed between lookup and approval; restart the chainsaw auth login flow
CHW-4948400missing or invalid exchange code
CHW-4949410exchange code not found, expired, or already used; restart the chainsaw auth login flow

Internal / storage

CodeHTTPReasonMessage
CHW-5001500internal error; the request was not completed — retry, and if the error persists include the request ID when reporting
CHW-5002500storage backend failed while processing this request; retry shortly or check the backend health endpoint
CHW-5101503a required dependency is not available; retry shortly or contact the operator
CHW-5102500server-side encryption is not configured; ask an operator to set the required key
CHW-5103502identity provider could not be contacted; retry shortly
CHW-5104500unable to issue session token; please retry
CHW-5105500user store is unavailable; please retry
CHW-5201503org store is not available; the server started without a database — check the operator dashboard
CHW-5301503policy store is not available; the server started without a database — check the operator dashboard
CHW-5302500package store request failed; retry shortly or check the backend health endpoint
CHW-5303503repository is disabled; ask an operator to re-enable it or route the request to an active repository
CHW-5304500repository hook failed; retry shortly or check the hook configuration and logs
CHW-5305500cached content could not be opened for streaming; retry shortly or purge the cache entry
CHW-5306500exception policy store request failed; retry shortly or check the operator dashboard
CHW-5307500findings store request failed; retry shortly or check the operator dashboard
CHW-5308500tuning suggestion store request failed; retry shortly or check the operator dashboard
CHW-5401500unable to load the current plan for this organization; retry shortly
CHW-5402500unable to load the paddle subscription for this organization; retry shortly
CHW-5403500unable to update the plan assignment; retry shortly and contact support if the failure persists
CHW-5404500unable to check plan feature flags; retry shortly
CHW-5405500paddle webhook event could not be persisted; paddle will retry the delivery
CHW-5406500unable to load service token record; retry shortly
CHW-5407503policy store is not available on this instance; the server started without a policy backend
CHW-5408503primary store is not available; the server started without a database
CHW-5501500usage / billing store write failed; retry shortly and contact support if the failure persists
CHW-5502500saved traffic views store call failed; retry shortly
CHW-5503500unable to load violation history; retry shortly
CHW-5504503violation data is temporarily unavailable; retry shortly
CHW-5505503package metadata store is not available on this instance; the server started without a metadata backend
CHW-5506500unable to load vulnerability metadata; retry shortly
CHW-5507500unable to generate SBOM export; retry shortly
CHW-5508503event log is not available on this instance; the server started without an event store
CHW-5509503settings store is not available on this instance; the server started without a database
CHW-5510503repository manager is not available on this instance; the server started without proxy bindings
CHW-5511500unable to list organisations; retry shortly and contact support if the failure persists
CHW-5512503violation data is temporarily unavailable; retry shortly
CHW-5601500failed to persist settings; retry shortly and check operator logs if the failure repeats
CHW-5603500policy store failed while processing the request; retry shortly
CHW-5604503data source manager is not wired up; manual refresh cannot be triggered
CHW-5605502data source refresh failed against the upstream; check connectivity and the source health endpoint
CHW-5606503onboarding endpoints require the configuration store; the server started without one
CHW-5607500repository storage backend is not wired up; cache operations cannot proceed
CHW-5608500failed to enumerate cached artifacts on the storage backend; retry shortly
CHW-5701500failed to list webhooks; retry shortly or check /healthz
CHW-5702500failed to enumerate existing webhooks; retry shortly or check /healthz
CHW-5703500failed to create webhook; retry shortly or check /healthz
CHW-5704500failed to update webhook; retry shortly or check /healthz
CHW-5705500failed to delete webhook; retry shortly or check /healthz
CHW-5706500failed to list SIEM integrations; retry shortly or check /healthz
CHW-5707500failed to load SIEM integration; retry shortly or check /healthz
CHW-5708500failed to persist SIEM integration; retry shortly or verify that the SIEM encryption key is configured
CHW-5709500failed to delete SIEM integration; retry shortly or check /healthz
CHW-5710500failed to manage SCIM token; retry shortly or check /healthz
CHW-5711500SAML service-provider configuration could not be built; verify the SP keypair and ACS/metadata URLs in the SSO admin UI, then retry
CHW-5712503user store is not available; retry shortly or ask the operator to check the database connection
CHW-5713500failed to load profile; retry shortly or check /healthz
CHW-5714500failed to save profile changes; retry shortly or check /healthz
CHW-5715503postmark webhook receiver is not configured; set POSTMARK_WEBHOOK_USER and POSTMARK_WEBHOOK_PASSWORD on the server before re-enabling the…
CHW-5801503client credential store is unavailable; the server started without a database — check the operator dashboard
CHW-5802500client credential storage write failed; retry shortly or check the backend health endpoint
CHW-5803500repository storage backend is unavailable; quarantine cannot remove artifacts until it recovers
CHW-5804500failed to discover cached artifacts for this package version; retry shortly or check the backend health endpoint
CHW-5805500failed to remove cached artifacts; retry shortly or inspect the storage backend error log
CHW-5806500failed to store uploaded artifact; retry shortly or check the backend health endpoint
CHW-5807500failed to read docker blob upload chunk; retry the push from scratch
CHW-5808500failed to persist docker blob; retry the push
CHW-5809500failed to read docker manifest from the request; retry the push
CHW-5810500failed to persist docker manifest; retry the push
CHW-5811502upstream NuGet server could not be contacted or returned an unreadable response; retry shortly
CHW-5812501automatic config generation for this format is not yet implemented; use the manual recipe in tutorial 02 in the meantime
CHW-5813500bulk action executed partially before failing; previously-applied items have been rolled back so the request had no net effect
CHW-5920503api keys store unavailable
CHW-5921500list failed
CHW-5922500generate failed
CHW-5923500create failed
CHW-5924500get failed
CHW-5925500patch failed
CHW-5926500revoke failed
CHW-5927500rotate failed
CHW-5940500mint failed
CHW-5941503device flow unavailable
CHW-5942500issue failed

Other

CodeHTTPReasonMessage
CHW-8301404no hosted huggingface repository registered for this org; ask an operator to register one before pushing
CHW-8302400name is required
CHW-8303400could not parse repo_id from path; expected /api/{repo_type}s/{org}/{name}
CHW-8304400could not parse commit path; expected /api/{repo_type}s/{org}/{name}/commit/{revision}
CHW-8305400could not parse NDJSON commit body; verify the header line and per-file entries
CHW-8306400commit file content could not be decoded; only base64 encoding is supported
CHW-8307400unknown commit entry kind; expected “file” or “lfsFile”
CHW-8308400lfsFile entry missing required oid field
CHW-8309404LFS object not found; upload the blob via PUT /lfs/objects/{oid} before referencing it from a commit
CHW-8310400could not parse lfs upload path; expected /{repo_id}.git/lfs/objects/{oid}
CHW-8311413lfs object exceeds 2GiB cap
CHW-8312400lfs object oid mismatch; the body hash disagrees with the oid in the URL
CHW-8313422lfs object size mismatch between client claim and stored blob

Response shape

{
  "error": {
    "code": "CHW-2001",
    "message": "package blocked by policy",
    "reason": "POLICY_VIOLATION",
    "docs": "https://docs.chain305.com/errors/CHW-2001",
    "fields": {
      "package": "lodash",
      "version": "4.17.20",
      "policy_id": "pol-age-gate-7d"
    }
  }
}

fields is optional — it appears only when a handler attaches structured context via errcodes.WithField. Clients should tolerate its absence.