Configured an HTTP Data Action to hit an internal endpoint. The request succeeds with a 200 status, but the output variable comes back as undefined in Architect.
{
"path": "/api/v2/data",
"method": "GET"
}
The response body is {"result": "ok"}. I mapped the output to $.result, yet the span shows the value is null. Am I missing a content-type header in the request config?
It’s not the content-type header that’s causing the issue here. The HTTP Data Action in Architect handles JSON parsing automatically, so you don’t need to add extra headers for that. The problem is almost certainly how you’re referencing the response in your subsequent steps.
When the action completes, the output isn’t just $.result. It’s nested under the action’s specific output variable name. If your Data Action is named GetInternalData, you need to reference it as ${GetInternalData.result}. Using just $ refers to the global context, which might be empty or overwritten by previous steps.
Check the “Output” tab in the Data Action configuration. You’ll see the exact variable name generated for the response body. It usually looks like dataActionResponse. Then map it correctly.
// In your next step, use this reference:
${GetInternalData.result}
Also, make sure the “Success” condition is actually triggering. Sometimes a 200 status doesn’t mean the data payload was parsed if the response contains unexpected whitespace or BOM characters. I’ve seen that trip people up before. Verify the raw response in the trace log.