Reference

Troubleshooting and safe handling

Diagnose access and service failures without exposing credentials or secret values.

Start with the HTTP status, the endpoint, the intended workspace/environment and the token's non-secret ID. Keep bearer values, secret values and full exports out of bug reports.

Authentication and authorization

Symptom Next step
401 Verify the credential is loaded in this process and has not expired or been revoked; create a replacement through an authorized human if needed
403 Check the exact module action, live actor role and grants; value comparison needs read plus values, and rollback needs edit plus values
404 Confirm the environment/name and token workspace; an inaccessible workspace can intentionally look absent
400 requiring workspace A browser-session request needs the selected workspace ID; a token normally selects its own workspace
415 Send Content-Type: application/json, including {} for current-value reveal

Use GET /api/work/auth/token-self to inspect credential metadata. Do not debug by printing the Authorization header. A login-provider token is not a workspace automation token. A workspace slug is not a workspace ID.

If a token has Manage, that alone does not grant Read metadata or Read secret values. Selecting dev does not make its scopes specific to that environment.

Service or network failure

A 503 from a Secrets operation means the API could not reach its Secrets service. Ask the operator to check that service. GET /api/secrets/status instead reports available: false for service unavailability; its HTTP success does not mean the service is healthy.

A 501 can indicate a service version mismatch. A 502 can include a service-side rejection as well as an unexpected failure: read the sanitized error message before retrying.

For DNS, TLS or timeout problems, check connectivity from the affected machine. Do not disable TLS verification. An unauthenticated request to /api/secrets/workspace should be refused with 401; receiving that response demonstrates the authentication endpoint is reachable without using a credential. It does not prove an authenticated operation will succeed.

Do not start a replacement local store to fix remote connectivity. Remote clients use the authenticated HTTPS API.

A save or import partly worked

HTTP 200 on Save or Import can contain item-level errors. Inspect every result. A failed rename skips edits targeting the failed new name, while unrelated changes may already have applied. Refresh the environment and retry only the remaining intended changes.

After a timeout, inspect metadata before retrying a write. Creation with a note and renaming with edits can each use multiple underlying operations; a later failure does not prove earlier work was undone.

If a type change says to re-enter the value, it would weaken the display's redaction. Do not work around the refusal by exporting a whole environment. Review whether making that value visible to metadata readers is actually intended.

History or comparison looks surprising

History authors may be unknown on older records. replaced_by describes who replaced a previous version, not its original author. Restoring a version creates a new current version; older history can be unavailable due to retention settings.

A metadata comparison checks presence, types and display values. Two *** displays do not establish equal protected values. Actual value comparison requires value access and retrieves all selected environments' values.

Handle values safely

  • Request one named value when the task needs one; export only when the whole environment is needed.
  • Keep credentials in a credential manager and load them into the calling process only. Clear temporary environment variables afterward.
  • Keep values out of prompts, logs, screenshots, issue reports, shell history and source control. Names and notes are metadata, so keep credentials out of those too.
  • Treat clipboard entries, downloads and temporary files as copies of the secret. Restrict access and remove them when no longer needed.
  • Cache-Control: no-store is a response directive, not an erasure guarantee for client memory, output or screenshots.
  • Metadata display values can be plaintext: certificate, publishable and config are unmasked; connection strings are partly masked.

If a token leaks, revoke it and replace the affected client credential. If a stored value leaks, rotate or revoke it at the service that issued it and update AsyncFlux Secrets. API-token revocation cannot erase values already copied by a client.

AsyncFlux Secrets documentation
Search documentation