Hello Auth0 Community Engineers,
I am seeking technical guidance from an Auth0 Community Engineer or Auth0 staff member regarding an unresolved Management API incident affecting our YOGA5D Central Identity SSO staging environment.
We attempted two separate operations on an Auth0 Post-Login Action:
-
A version-restoration POST intended to restore the original deployed Action and draft.
-
A subsequent corrective PATCH intended to restore only the original draft code and existing secret references, without deploying a new version.
Both operations encountered local transport errors, and neither produced a recorded HTTP status or provider request identifier.
Our subsequent investigation confirmed that:
-
The original deployed Action remains unchanged.
-
The editable draft still contains the staging candidate.
-
Runtime, dependencies and trigger order remain unchanged.
-
Auth0 audit-log searches did not identify either request, but the available evidence cannot conclusively establish whether they reached the Management API.
-
Neither uncertain request has been repeated.
-
Further staging activation is blocked to protect the existing configuration.
We would appreciate guidance on the following:
-
How can we determine whether either request was received, rejected or processed by Auth0?
-
What is the officially supported method to restore an Action’s editable draft without changing its currently deployed version?
-
Can a fresh, separately authorized draft-only correction be performed safely when the delivery status of an earlier request remains uncertain?
-
Are there recommended safeguards for concurrent Action updates, preserving existing Action secret values and preventing unintended version deployment?
We have prepared a detailed technical incident report with the exact UTC timestamps, API endpoints, payload hashes and verified Action state. We can provide it privately to an Auth0 Community Engineer.
Unfortunately, the Auth0 Support Center currently displays:
“You do not have access to create a ticket.”
We would therefore be grateful if an Auth0 Community Engineer could respond or initiate a private conversation to help us obtain the appropriate technical guidance.
This is a staging recovery issue, not a reported production outage. We are not requesting anyone to execute a configuration change on our behalf.
Thank you for your assistance.
YOGA5D Technical Operations
Hi @hynzn58xqz-stack
You are asking how to determine whether two failed Auth0 Post-Login Action Management API operations (a version-restoration POST and a draft-only PATCH) reached Auth0, how to restore an Action’s editable draft without changing its deployed version, whether a separately authorized draft-only correction is safe while those requests remain unresolved, and which safeguards apply to concurrent Action updates, secret values, and unintended deployment.
[Summary]
Request status can be checked in the tenant’s logs, but a draft can be restored safely only through a single, verified edit that does not deploy, after the current state is confirmed.
[Solution]
1. Determining Whether Requests Were Received, Rejected, or Processed by Auth0
Auth0’s Management API gateway and internal logging provide clear boundaries to identify whether requests reached the platform:
-
Query Tenant Audit Logs for Management API Events:
-
Every request that reaches the Auth0 Management API gateway—regardless of whether it succeeds, fails validation, or errors out—generates an audit log entry:
-
sapi (Success API Operation): The endpoint processed the request with a 2xx response.
-
fapi (Failed API Operation): The request reached the API gateway but resulted in a 4xx (e.g., 400 Bad Request, 401 Unauthorized, 403 Forbidden) or 5xx error.
-
limit_wc / limit_api: Rate limit exhaustion (429 Too Many Requests).
-
Verification Step: Query the Tenant Logs API or Dashboard (Monitoring → Logs) for the specific timeframe:
GET /api/v2/logs?q=type:(sapi OR fapi) AND client_id:"<YOUR_M2M_CLIENT_ID>"
- If no
sapi or fapi entries exist matching the client ID, endpoint path (/api/v2/actions/...), and timestamp window, the request failed at the local transport/network layer (e.g., DNS timeout, socket drop, or TLS handshake termination before HTTP payload transmission) and was never processed by Auth0.
-
Inspect Entity Mutability State:
-
Retrieve the current Action resource via GET /api/v2/actions/actions/{actionId}.
-
Inspect the updated_at property:
- If
updated_at reflects a timestamp prior to your two attempts, no state mutation occurred on the draft entity.
-
Query the version history via GET /api/v2/actions/actions/{actionId}/versions:
- If the list of versions has not expanded and no version has a
created_at timestamp corresponding to the attempt, the version-restoration POST was never committed.
2. Officially Supported Method to Restore an Action Draft Without Changing the Deployed Version
In Auth0 Actions, the editable draft and the deployed version are decoupled entities on the same Action resource:
-
Draft state: Represented by the root attributes of the Action (code, dependencies, secrets, runtime).
-
Active deployed version: Represented by the immutable snapshot referenced by current_version.
To revert the draft to a prior state without touching production/deployed traffic:
-
Retrieve the Target Version Snapshot:
Fetch the code, runtime, and dependency manifest from the desired historical version:
GET /api/v2/actions/actions/{actionId}/versions/{targetVersionId}
-
Apply the Draft-Only Mutation (PATCH):
Send a PATCH request directly to the Action endpoint:
PATCH /api/v2/actions/actions/{actionId}
Content-Type: application/json
Authorization: Bearer <MGMT_API_TOKEN>
{
"code": "<CODE_FROM_TARGET_VERSION>",
"dependencies": [
{ "name": "lodash", "version": "4.17.21" }
],
"secrets": [
{ "name": "EXISTING_SECRET_NAME" }
]
}
- Why this is safe:
PATCH /api/v2/actions/actions/{actionId} only updates the editable draft. It does not build a new immutable version or alter current_version. Deployed executions continue to run against current_version.id until a separate deployment call (POST /api/v2/actions/actions/{id}/deploy or dashboard “Deploy”) is executed.
3. Executing a Fresh Draft-Only Correction Under Transport Uncertainty
Yes, a fresh draft correction can be performed safely.
-
Idempotency and Overwrite Guarantees: A PATCH to the Action draft acts as a state replacement for the draft attributes. If an earlier in-flight PATCH were somehow queued and delivered first, your new PATCH will immediately supersede it. If the payloads are identical (both restoring original draft code), the end state is identical.
-
Pre-requisite Check:
Before issuing the request, confirm that current_version.id matches your known-good deployed version ID via GET /api/v2/actions/actions/{actionId}.
-
Execution Boundary:
Ensure the new request targets only PATCH /api/v2/actions/actions/{actionId} and avoids any version deployment triggers (POST .../deploy or POST .../versions/{id}/deploy).
4. Recommended Safeguards for Concurrency, Secrets, and Accidental Deployments
-
Preserving Action Secrets During API Updates:
-
Action secrets are write-only. When querying an Action via GET, Auth0 returns { "name": "KEY_NAME", "updated_at": "..." } without plaintext values.
-
When issuing a PATCH with the secrets array:
-
To retain an existing secret value: Include only the { "name": "KEY_NAME" } object without the value field. Auth0 preserves the existing stored secret.
-
To update a secret: Include { "name": "KEY_NAME", "value": "NEW_VALUE" }.
-
Warning: Omitting a secret name entirely from the secrets array in the PATCH payload will delete that secret from the Action. Always pass the complete list of all secret names required by the Action.
-
Preventing Accidental Deployments:
-
Concurrency and Drift Detection:
-
Declarative Management via Auth0 Deploy CLI / Terraform:
- Rather than ad-hoc REST calls, managing Actions through the [Auth0 Deploy CLI] (
https://auth0.com/docs/deploy/deploy-cli-tool) or the Auth0 Terraform Provider provides declarative drift detection, reviewable pull requests, and automated testing before applying changes.
5. Regarding the Support Center Access Notice
If your Auth0 Support Center displays “You do not have access to create a ticket”:
Kind Regards,
Nik