{
  "id": 15574382,
  "title": "Our new API gateway lowercased every header and no partner could place an order",
  "url": "https://urgent.news/2026/10/19/our-new-api-gateway-lowercased-every-header-and-no-partner-could",
  "topic": "tech",
  "section": "Tech",
  "published": "2026-10-19T07:05:03.000Z",
  "source": {
    "name": "Dev.to",
    "slug": "dev-to",
    "url": "https://dev.to/sergey_shinder_ab2d943365/our-new-api-gateway-lowercased-every-header-and-no-partner-could-place-an-order-1eo4"
  },
  "original_language": "en",
  "account": "On a Monday in March, trade partners began experiencing issues with our order intake API. The problem arose after we switched the API from Amazon API Gateway REST to an HTTP API. Our Lambda function read the X-Partner-Id header to identify partners, but with the new HTTP API, header names were lowercased. Our code expected the header name to be in the original capitalization, treating all partners as anonymous. The issue persisted because our tests assumed the header name would be capitalized. Upon rolling back the DNS, orders resumed flowing shortly after. To prevent future issues, we now normalize header names to lowercase at the edge of the API gateway and ensure tests are captured from the real gateway in staging, not written manually.",
  "summary": "At nine on a Monday in March, every one of our trade partners' systems started getting 400 Bad Request from our order intake API, with the body missing partner id. Over the weekend we had moved the API from an Amazon API Gateway REST API to an HTTP API, which costs less and suited what the API does. Partners identify themselves with an X-Partner-Id header. Our Lambda read it with…",
  "key_points": [
    "API Gateway switched from REST to HTTP API",
    "Lambda function read capitalized X-Partner-Id header",
    "Normalizing header names prevents future issues"
  ],
  "editors_take": "The failure highlights how subtle infrastructure changes can break critical integrations when manual testing protocols fail to account for the automated behaviors of new cloud service configurations.",
  "illustration": null,
  "coverage": {
    "outlets": 1,
    "also_reported_by": []
  },
  "ai_generated": true,
  "disclaimer": "Summaries, key points and the editor’s take are written by software from other outlets’ reporting and may contain errors — always check the linked original."
}