← API Home

Plant Data Field Guide

Every field in the LWF database — what it means, its type, allowed values, and how to access it via the API.

Coding agents: GET /plant-fields.json returns this data as JSON.

Plant (base fields)

9 fields
id
uuid GET /plants
Unique identifier. Use this to fetch values, images, and risk-reduction data.
genus
text GET /plants
Botanical genus (e.g., "Abelia"). May include synonyms in parentheses.
species
text GET /plants
Species name. "spp." means multiple species in the genus.
subspeciesVarieties
text GET /plants
Subspecies, varieties, cultivars, or "& hybrids". Often null.
commonName
text GET /plants
Common name (e.g., "Glossy Abelia"). Best for display. Searchable via ?search=.
urls
text[] GET /plants
Reference URLs (usually Wikipedia). Array of strings.
notes
text | null GET /plants
General notes about the plant. Often null.
lastUpdated
text | null GET /plants
ISO timestamp of last update (e.g., "2026-03-15T12:00:00Z"). Often null.
primaryImage
object | null GET /plants?includeImages=true
Only included with ?includeImages=true. Has .url, .type, .source. Null if no image. Full list via GET /plants/{id}/images.

Value (per-plant attribute data)

11 fields per value
id
uuid GET /plants/{id}/values
Unique identifier for this value record.
attributeId
uuid GET /plants/{id}/values
References the attribute definition. Use with V2 endpoints for batch queries.
attributeName
text GET /plants/{id}/values
Human-readable attribute name (e.g., "Water Amount"). Use for display.
plantId
uuid GET /plants/{id}/values
The plant this value belongs to.
rawValue
text GET /plants/{id}/values
The stored value — often an ID like "04", not the display name. Use for filtering/logic.
resolved
object GET /plants/{id}/values
{ value: "Low", type: "enum", id: "04" } — the human-readable version. Use resolved.value for display. Types: "enum", "text", "float", "boolean".
sourceId
uuid | null GET /plants/{id}/values
Which source provided this value. Join with GET /sources.
sourceValue
text | null GET /plants/{id}/values
The raw value string as it appeared in the original source.
urls
text[] GET /plants/{id}/values
Reference URLs for this value. Often null.
notes
text | null GET /plants/{id}/values
Additional notes about this value. Often null.
metadata
object | null GET /plants/{id}/values
Arbitrary JSON metadata. Often null.

Attribute Categories

Each value row on a plant belongs to one of these categories. When you call GET /plants/{id}/values, every result has an attributeName and attributeId that maps to a field below. The resolved.value is what you display — the rawValue is the stored ID.

Loading attribute categories from API...