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
Unique identifier. Use this to fetch values, images, and risk-reduction data.
genus
Botanical genus (e.g., "Abelia"). May include synonyms in parentheses.
species
Species name. "spp." means multiple species in the genus.
subspeciesVarieties
Subspecies, varieties, cultivars, or "& hybrids". Often null.
commonName
Common name (e.g., "Glossy Abelia"). Best for display. Searchable via
?search=.urls
Reference URLs (usually Wikipedia). Array of strings.
notes
General notes about the plant. Often null.
lastUpdated
ISO timestamp of last update (e.g., "2026-03-15T12:00:00Z"). Often null.
primaryImage
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
Unique identifier for this value record.
attributeId
References the attribute definition. Use with V2 endpoints for batch queries.
attributeName
Human-readable attribute name (e.g., "Water Amount"). Use for display.
plantId
The plant this value belongs to.
rawValue
The stored value — often an ID like "04", not the display name. Use for filtering/logic.
resolved
{ value: "Low", type: "enum", id: "04" } — the human-readable version. Use resolved.value for display. Types: "enum", "text", "float", "boolean".
sourceId
Which source provided this value. Join with
GET /sources.sourceValue
The raw value string as it appeared in the original source.
urls
Reference URLs for this value. Often null.
notes
Additional notes about this value. Often null.
metadata
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...