# unsupported_media_type

> Wrong media type

- Status: 415 Unsupported Media Type
- Returned by: /api/public
- Operations: [sendOrderToDevice](https://developers.rivr.io/reference/api-public/sendOrderToDevice.md), [createOnboardingLink](https://developers.rivr.io/reference/api-public/createOnboardingLink.md), [createSubscription](https://developers.rivr.io/reference/api-public/createSubscription.md)
- Retry (`retryWhen`): `after_fix`
- Did anything happen? (`outcome`): `none` (It did not happen)
- The request
- Page in the portal: https://developers.rivr.io/errors/unsupported_media_type
- Try it: `GET https://developers.rivr.io/errors/simulate/unsupported_media_type` answers with the code's exact wire form; `?succeedAfter=N&attempt=K` gives a 200 once `attempt` passes `N`

## What it means

The body was sent with another `Content-Type` than `application/json`, and the operation reads only JSON. The answer is the framework's ProblemDetails with `code` and `message`. Nothing was done.

## What your system does

Send the body as JSON with the header `Content-Type: application/json`.

## Is it worth retrying?

No, not without changing the call.

`retryWhen`: `after_fix`. Change the request first, as the code's page says: a value, the token, a header or a new key. Then send it.

## Did anything happen?

`outcome`: `none`. **It did not happen.** This call did not do what you asked for and changed nothing else that you can see or that concerns money. Where the code has an `outcomeNote`, it takes precedence.

## Example: /api/public

```http
HTTP/1.1 415 Unsupported Media Type
Content-Type: application/json

{
  "type": "https://developers.rivr.io/errors/unsupported_media_type",
  "title": "Unsupported Media Type",
  "status": 415,
  "traceId": "00-4bf92f3577b34da6a3ce929d0e0e4736-00f067aa0ba902b7-00",
  "code": "unsupported_media_type",
  "message": "The body's Content-Type is not one the operation reads. Send the body as application/json."
}
```

The `title`, `detail`, `message` and `error_description` texts are exactly as the API writes them today.
