417 Expectation Failed

The server cannot meet the requirement stated in the request's Expect header.

Last updated . How this page is checked.

Status code417
Status textExpectation Failed
Category4xx Client Error
Response has bodyUsually
SpecificationRFC 9110

What does 417 Expectation Failed mean?

The server cannot meet the requirement stated in the request's Expect header. It belongs to the 4xx Client Error class, which means the request contains bad syntax or cannot be fulfilled. Something about the request needs to change.

When do APIs return 417?

Almost always Expect: 100-continue reaching a server or proxy that does not implement it. Curl adds that header on its own for large request bodies, so the error can appear on an upload that works fine when the payload is small.

How to fix a 417 Expectation Failed

Stop sending the header. In curl, -H "Expect:" with nothing after the colon removes it; most HTTP libraries have a matching switch. The upload then goes ahead without waiting for the server's permission, which is what the server wanted in the first place.

Reproduce a 417 response

The fastest way to understand a status code is to trigger one and read the full response. Open the API tester and send a request to https://httpbin.org/status/417 — you will see the 417 status along with every response header the server sent. Comparing those headers against a working request is often what reveals the cause.

When you are debugging a real endpoint, check the response headers as carefully as the body, and confirm you are using the right HTTP method for the operation.

Related 4xx status codes

See also

  • 100 Continue — The server received the request headers and the client should proceed to send the request body.

References