# The error answers with code and type in /api/public are in production too

- Date: 2026-10-27
- Type: Non-breaking change
- Surface: /api/public, Developer portal and CLI
- What you need to do: Nothing.
- Address: https://developers.rivr.io/changelog/2026-10-27-api-public-error-bodies-in-production

The changelog entry of 25 October, "Every error answer in /api/public carries code and type", said that the sandbox had the change and that production would get it with the platform's next release. Production has had it since platform release 2026.10.25.2656, also on https://api.rivr.io, where all calls under /api/public have gone through public-api since 26 October. Every error answer under /api/public there has a body with `code`, `type` and `message`: the token, the scope, a request that can't be read, a route that doesn't exist and every operation's own errors. The HTTP status of each answer and the members it had before are unchanged, and the codes are the ones that entry lists, such as token_missing, token_invalid, token_expired, invalid_scope, platform_token_required, merchant_mismatch, request_invalid, route_not_found and internal_error. Their pages under Error codes no longer say that they exist only in the sandbox. The guide Connect a clinic from your system still described the onboarding link errors as they were before the change. It now names their codes: onboarding_not_enabled for a platform that doesn't have onboarding switched on, platform_token_required for a token that carries no platform, and organisation_number_invalid, field_too_long, send_email_requires_email, price_list_not_allowed, onboarding_link_not_issued, onboarding_link_not_found, onboarding_link_revoked and onboarding_already_signed for the rest, and it says that these errors are the JSON error object with `code` and `type`, in English, not application/problem+json. Nothing in the API changes with this entry. Program against `code`, never against `message`.

