HTTP 226 IM Used indicates the server successfully processed the request and returned a final response. It confirms transport-level success for this request, but it does not guarantee business-level correctness, cacheability, or that downstream side effects completed.
Try it (live endpoint)
Response includes the status code, standard headers (including Content-Type), and a small diagnostic JSON body describing the request and returned status.
The server has fulfilled a GET request using delta encoding. The response represents the result of one or more instance-manipulations applied to the current instance.
What it guarantees
The server accepted the request and produced a final response.
What it does NOT guarantee
The underlying business operation is correct across all downstream systems.
The response is cacheable unless headers explicitly allow it.
When to use this status
GET succeeds and returns a representation of the resource.
PUT/PATCH succeeds and returns an updated representation.
POST succeeds and returns an immediate result.
When NOT to use this status (common misuses)
Returning 200 for partial failures or errors embedded only in the body.
Clients and monitors treat it as success; failures become silent and harder to alert on.
Returning 200 for creation instead of 201 with Location.
Clients lose a reliable created-resource identifier; SDK behavior becomes inconsistent.
Returning 200 for async acceptance instead of 202.
Clients assume the work is complete and proceed incorrectly.
Critical headers that matter
Content-Type
Defines how clients parse the body.
Clients mis-parse payloads; SDKs and browsers apply wrong decoding.
Cache-Control
Controls cacheability and revalidation.
CDNs/browsers cache dynamic data or fail to cache static content.
ETag / Last-Modified
Enables conditional requests and revalidation.
Unnecessary bandwidth; poor cache consistency.
Tool interpretation
Browsers
Treats as success; caches/revalidates based on headers and validators.
API clients
Deserializes per Content-Type; conditional requests use validators when implemented.
Crawlers / SEO tools
Indexes depending on headers and canonical stability; caches behavior via validators and cache directives.
Uptime monitors
Typically marks success; advanced checks may flag header anomalies or latency.
CDNs / reverse proxies
Caches/revalidates based on Cache-Control, ETag, and Vary; compression and content-type affect behavior.
Inspector preview (read-only)
On this code, Inspector focuses on semantics, headers, and correctness warnings that commonly affect clients and caches.
Signals it will highlight
Status semantics vs method and body expectations
Header sanity (Content-Type, Cache-Control, Vary) and evidence completeness
Correctness warnings
No common correctness warnings are specific to this code.
Guided Lab outcome
Reproduce HTTP 226 IM Used using a controlled endpoint and capture the full exchange.
Practice distinguishing status semantics from transport issues (redirects, caching, proxies).
FAQ
Should clients retry on HTTP 226?
Usually no—treat it as a successful final response unless your domain requires revalidation.
Is HTTP 226 cacheable?
Only if Cache-Control/validators allow it. Do not assume cacheability from the status alone.
Which headers matter most for HTTP 226?
Content-Type and Cache-Control are the baseline. Some codes also require Location, WWW-Authenticate, or Retry-After.
How does this affect monitoring?
Monitors usually mark success; use payload/latency checks for correctness.
How does this affect crawlers/SEO?
SEO impact is driven mostly by cacheability, canonical stability, and content correctness.
What should error responses include?
If a body is returned, keep it consistent and typed via Content-Type.
Client expectation contract
Client can assume
A final HTTP response was produced and processed by the server.
Client must NOT assume
The change is durable across all downstream systems.
Retry behavior
Retries are generally unnecessary; treat as final unless domain rules require revalidation.
Monitoring classification
Success
Use payload and header checks to avoid false positives; cacheability depends on Cache-Control/ETag/Vary.