The payload reference
This page is not written. It is contract/web-api/, the contract lemonfiber
generates from the Rust types that actually serialise each reply,
read at the revision named at its foot and set out as tables. A field added
upstream appears here when the pin moves, and nothing on this page can say a
field exists that the artefact does not.
That is also its limit. The artefact knows shapes and the doc comments written on them; it does not know which endpoint answers which kind, or what a client has to do that no schema can express. Those are the envelope and every payload kind, which is where to start. Come here for the exact shape of a field.
How to read it
Section titled “How to read it”The first table maps each kind to the type its data is. Every type is then
set out once, by name, however many kinds use it, and a type named in a field
links to its own entry.
- A required field is always present. One that is not may be absent, and a
type that includes
nullmay also be present and empty — the two are different, and a client keeps them apart. - A type that is one of several things is closed: a client reads the value it names, and a value it does not know is refused plainly rather than guessed at. Where the choices are objects, the field that tells them apart is shown with the value that selects each one.
- Numbers carry the width the Rust type has, such as
uint16, and the bounds that follow from it.
Every kind, and the type its data is
| Kind | What data holds |
|---|
Every type, by name
Read from the revisions this site pins:lemonfiber/lemonfiber at 3828a14, 2026-10-08