When integrating an external source with the DX Operational Observability Alarm Ingestion API (POST /jarvis/v2/ingestion), a successful ingestion returns HTTP 202 Accepted with the response header Content-Type:
application/json;charset=UTF-8
But the response body is the plain text string "Accepted Payload", which is not valid JSON.
Consumers that automatically parse the response based on the declared Content-Type, for example the Azure Logic Apps built in HTTP action or other strict clients that deserialize based on the declared Content-Type, fail to parse the body and report the successful call as a failure.
A typical symptom in Azure Logic Apps is a BadRequest error:
"HTTP request failed: the content was not a valid JSON... Unexpected character encountered while parsing value: A".
Note that the alarm is ingested successfully; only the response handling on the client side fails.
DX Operational Observability (SaaS), Alarm Ingestion API.
On the successful ingestion (HTTP 202) path, the API sets Content-Type: application/json;charset=UTF-8 but returns the plain text body "Accepted Payload".
Because the declared Content-Type states JSON while the body is not valid JSON, strict consumers that parse the body based on the declared Content-Type fail, even though the request succeeded.
The response also carries x-content-type-options: nosniff, which confirms that the declared content type should be trusted rather than guessed; this is an observed header on the 202 response, not the mechanism that drives client parsing. On error paths (for example 401), the endpoint returns a matching JSON body, so the mismatch is specific to the 202 success path.
The correct token type for this endpoint is the APM Gateway Tenant token (Authorization: Bearer <tenant token>). Independently reproduced via Postman (status 202 Accepted; body "Accepted Payload" shown in the JSON viewer) and via Azure Logic Apps (HTTP action failure as quoted above).
Alarm Ingestion API: Alarm Ingestion Api