HTTP status codes / 4xx — Client errors
The server rejects the Content-Type of your body.
The body format is not one the endpoint accepts — sending form-encoded data where JSON is required is the classic case, as is a missing or wrong charset/Content-Type header.
curl -i -X POST -H "Content-Type: text/plain" -d '{"a":1}' https://httpbin.org/status/415 Same request, no terminal: paste this into the cURL converter for native code, or straight into ReqPad on your phone.
Set Content-Type: application/json (or whatever the API documents) explicitly; many HTTP clients default to form encoding or text/plain.
Server-side note: Set Content-Type: application/json explicitly — the single most common fix in API debugging.
The fastest way to pin down a 415 is to reproduce the exact request and inspect what actually went over the wire — status, headers, timing and body, without your app code in the way. That is what an API client is for; ReqPad does it from your phone, with every request saved to history.
400 Bad Request · 401 Unauthorized · 402 Payment Required · 403 Forbidden · 404 Not Found · 405 Method Not Allowed — or the full reference.
Build the request, send it, read status + headers + timing — on your iPhone. Free to start.