A reader who asked for a session and got nothing needs to know which of these happened — a mistyped id reads very differently from an archive that cannot be opened. Each case carries the words to show and the HTTP status a host answers with; the status is a plain number, so describing it costs the contract no server dependency.
The transcript was read, and holds no such artifact.
The transcript was read, and holds no such artifact.
Carries nothing: what was asked for is a place in a conversation, and repeating a place back to whoever asked says more about the conversation than the answer needs to.
Carries nothing on purpose. Why a read failed is the host's own business — a path it could not open, a device that went away — and none of that is the asker's to know. A host that wants the detail logs it where it has the effects to do so.