| Previous | Next |
| HTTP_E_STATUS_UNEXPECTED_SERVER_ERROR | HTTP_E_STATUS_MOVED |
HTTP_E_STATUS_AMBIGUOUS
HTTP_E_STATUS_AMBIGUOUS maps to HTTP 300 Multiple Choices. It indicates that the target resource has more than one representation or action available and the response may describe alternatives.
What to check for HTTP_E_STATUS_AMBIGUOUS
- Inspect the response body and headers for the alternatives supplied by the service.
- Check content negotiation inputs such as
Accept,Accept-Language, or application-specific selection parameters. - When the endpoint is API-only, confirm that the server is not returning an interactive representation-selection page unexpectedly.
RFC 9110: 300 Multiple Choices
Diagnostic interpretation of HTTP_E_STATUS_AMBIGUOUS
HTTP_E_STATUS_AMBIGUOUS has the HRESULT value 0x8019012C. AllStat records the condition as “Multiple choices (300).”. For HTTP_E_STATUS_AMBIGUOUS, in practice, interpret that wording at the boundary owned by the Windows component or COM interface that returned the HRESULT, rather than treating the value as a generic Windows message.
Evidence to capture for HTTP_E_STATUS_AMBIGUOUS
- Record the exact COM method or Windows API, its input object, the calling thread, and the full 0x8019012C value before a wrapper converts it to an exception or Boolean result.
- Capture any IErrorInfo text, activity identifier, event-log entry, and subsystem trace that mentions HTTP_E_STATUS_AMBIGUOUS or the ambiguous operation.
- For HTTP_E_STATUS_AMBIGUOUS, check the documented return contract of the specific API because the same HRESULT can require different recovery in different interfaces.
Retry and recovery for HTTP_E_STATUS_AMBIGUOUS
Retry HTTP_E_STATUS_AMBIGUOUS only when the owning API documents a transient state or after the condition described as “Multiple choices (300).” has changed. For HTTP_E_STATUS_AMBIGUOUS, configuration, policy, format, and authorization failures normally require correction first; an immediate loop can hide the original call site and add secondary errors.
Looking for a different code? Search another status or error code.
