203

Non-Authoritative Information

2xx Success

ELI5

The request worked, but the response may have been adjusted by something in the middle, like a proxy, before it reached you.

Server perspective

Use 203 mainly from a transforming proxy when the origin's successful response was modified before delivery.

When to use

  • Return 203 when an intermediary rewrites, adapts, or transforms the representation
  • Use it to help clients understand that the payload is derived from a 200 response but not identical to it
  • Transforming proxies that rewrite or optimize the origin response
  • Intermediaries that adapt content and want to be explicit that the payload is not byte-for-byte authoritative
  • Systems where the client should know a middle layer changed the original representation

How to respond

  • Preserve normal response metadata where possible and document proxy transformations clearly
  • Use 200 instead when the origin server itself is intentionally returning that representation

Headers to consider

  • No status-specific header is required; preserve or document metadata affected by the intermediary transformation.

Response body

  • Return the transformed representation in the response body

Server-side pitfalls

  • Do not use 203 for ordinary application responses from the origin server
  • Do not hide important data loss or semantic changes without making the transformation clear
  • Origin servers returning their own authoritative representation
  • Unmodified successful responses that should simply be 200 OK
  • Application-level data shaping performed by the origin service itself

Examples

Proxy-compressed HTML response with transformations

Request:GET https://api.example.test/news
Response:203 Non-Authoritative Information # Headers Content-Type: text/html; charset=utf-8 # Body <html><body>Transformed content</body></html>

A transforming intermediary changed the origin's response and signals that the payload is not exactly what the origin sent.

References

Related Status Codes