Shared API keys break cost ownership at every hop unless you propagate a stable ownership contract with the request.

The minimum useful contract is trace_id, owner_team, workflow_id, feature, and a non-PII user or tenant handle.

Request metadata at the gateway is necessary, but it is not enough unless the same fields survive router, queue, and worker hops.

Good attribution lets you answer chargeback questions per request, not just per provider account or per project.

A quick audit usually finds the same failure mode: usage logs exist, but ownership fields are missing or inconsistent when the provider bill arrives.