KB-2342 HTTP headers appear with different casing than expected

Symptoms

When calling an Appian WebAPI users see that HTTP headers sent to Appian appear as all lowercase regardless of the original casing.

Users may also report the following symptoms:

  • Returning received header values sent to an Appian WebAPI have unexpected casing.
  • Application code which relies on checking HTTP headers in Appian WebAPIs now fail.

Example of SAIL code that will fail or return null when sent a header with value "exampleToken":

a!localVariables( 
local!exampleToken: http!request.headers.exampleToken

Example of SAIL code that will succeed or return expected values when sent a header with value "exampleToken" or "exampletoken":

a!localVariables(
local!exampleToken: http!request.headers.exampletoken

Cause

Per Appian's documentation, this expected behavior due to Appian Cloud's adherence to the HTTP/2 spec as defined in RFC 7540 section 8.1.2. HTTP/2 does not guarantee that request headers sent by clients will maintain their original casing when returned in the response. Thus, Appian Cloud customers should not rely on case-sensitive HTTP header names in their Web APIs or other portions of their Appian applications.

Action

Users should update their application design to follow HTTP/2 header specifications and treat headers as case-insensitive. This may include one or both of the following actions:

  1. Update integration endpoints to send all headers as lower case.
  2. Update Appian WebAPIs to check for lower case HTTP headers by updating header casing.

Affected Versions

This article applies to all versions of Appian Cloud

Last Reviewed: June 2025

Related
Recommended