Penny shapes
Reusable, versioned JSON Schemas for Penny content types and fields.
Documents
Independent records, such as posts, participants and team members.
- Category · 1.0.0 — A named category with a slug and optional description.
- Consent Form · 1.0.0 — Study information, introduction and consent statements used to request participant consent.
- Contact · 1.0.0 — A person or organisation with a name, role, biography and image.
- Entry · 1.0.0 — A participant submission linking a question, participant and their individual responses.
- Event · 1.0.0 — An event with a title, dates, location, content and optional cover image.
- Guardian · 1.0.0 — A non-identifying guardian reference linked to a participant.
- Household · 1.0.0 — A household alias linked to its reporting participant.
- Menu · 1.0.0 — A named navigation menu containing recursively nested items.
- Navigation Item · 1.0.0 — A navigation item with a label, optional URL and order.
- Newsletter · 1.0.0 — A newsletter with subject, recipient group, author and Content.
- Notice · 1.0.0 — A private notice with title, Content body and optional author.
- Page · 1.0.0 — A publishable page with a title, slug and optional Content.
- Participant · 1.0.0 — A private research participant record with contact details, alias, address, consent records and blocked status.
- Post · 2.0.0 — The main Penny app’s full Post type: title, slug, excerpt, Content, cover image, status and publication date.
- Publication · 1.0.0 — A research publication with title, slug, authors, Content, attachments and publication settings.
- Question · 1.0.0 — A research question composed of individually configurable parts.
- Registration review · 1.0.0 — A researcher’s registration decision and notes for a participant.
- Spending submission · 1.0.0 — A household spending submission with reporting dates, currency, total and breakdown.
- Team Member · 1.0.0 — A team member profile with name, role, biography, photo and contact links.
Objects
Reusable structures embedded in documents, such as addresses.
- Address · 1.0.0 — A postal address with optional address lines, town and postcode, plus a country selection.
- Audio response · 1.0.0 — An audio recording submitted in response to a research question.
- Consent record · 1.0.0 — A link to a consent form and the timestamp at which consent was recorded.
- Question part · 1.0.0 — One part of a research question with response category, formats, choices and upload limit.
- Response · 1.0.0 — A response to one question part, including text, media/files, yes/no or selected choice.
- Text response · 1.0.0 — A textual response to a research question.
- Video response · 1.0.0 — A video recording submitted in response to a research question.
Fields
Reusable values with an editing experience, such as Content and country selections.
- Content document · 1.0.0 — The portable JSON structure shared by collaborative Content fields.
- Content (Markdown) · 1.0.0 — The Content field as stored by the main Penny app: Markdown text with Penny block extensions. The editor converts this into a collaborative document; Yjs state remains private and separate. This is distinct from the API prototype’s JSON Content document.
- Country · 1.0.0 — A country selection using the country codes and labels shipped with Penny.
- UK Universities · 1.0.0 — A selection from the UK universities listed in Penny; this list is not a complete international organisation registry.