Headers

Request and response headers on the Malibu buyer API.
Standard OpenAI client headers are accepted. Malibu adds one optional request header for sticky routing, plus a few response headers for attribution, receipts, and quota.
Some Malibu headers use an X-MacProvider- prefix. That prefix is the wire name. Send and read the headers exactly as written here. There are no X-Malibu-* headers.

Request headers

X-MacProvider-Internal-* request headers are stripped before routing. Other X-MacProvider-* request headers have no effect on routing or retries. Buyers cannot choose a provider through headers. See Provider attribution.

Response headers

Reading response headers from openai-python

The high-level client hides response headers. Use with_raw_response to get them:
TypeScript:

Streaming

On SSE responses, X-Request-ID, X-Provider-Id, X-MacProvider-Streaming-Mode, and the rate-limit headers arrive on the initial HTTP response. No receipt header is sent on streaming responses. There is no receipt trailer or trailing chunk.

How X-MacProvider-Conversation is handled

The gateway never forwards your raw tag. It derives an HMAC-SHA256 key from the tag and your account_id, then forwards only that key. So:
  • thread-42 from account A and thread-42 from account B route to different sticky partitions.
  • The coordinator and providers never see the raw tag.
  • The same tag from the same account always maps to the same key.